dnf install samba samba-common samba-client  或 yum install samba samba-common samba-client
安装samba

我们还必须确保Windows和Linux系统在同一工作组中。因此,转到Windows PC并启动命令提示符。输入命令:

> net config workstation

从输出中我们可以清楚地看到工作站域指向' WORKGROUP '。稍后将在Linux机器上对其进行配置。

步骤2)配置Samba

安装了Samba之后,就该进行一些配置了。但是在执行此操作之前,我们需要备份samba配置文件。因此,运行以下命令:

$ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

接下来,我们将创建一个名为shared的共享文件夹,并分配必要的权限和所有权,如图所示。

$ sudo mkdir -p /srv/samba/shared
$ sudo chmod -R 0755 /srv/samba/shared
$ sudo chown -R nobody:nobody  /srv/samba/shared

现在创建一个新的samba配置文件

$ sudo vim /etc/samba/smb.conf

修改以下配置:

[global]     #全局配置
workgroup = WORKGROUP                   #与windows工作组同名
server string = Samba Server %v    #samba server 名称及版本
netbios name = centos-8             #在netbios网络上的名称
security = user                     #验证用户登录的方式
map to guest = bad user
[home]   #共享文件夹配置  window显示 'home'为文件夹名称
path = /srv/samba/shared          #centos服务器中共享的文件路径
browsable =yes                    #yes 可以浏览
writable = yes                    #可以写入
guest ok = yes                    #可以匿名登录
read only = no                    #只读 停用

保存并关闭配置文件。要验证配置是否正确,请运行testparm命令

步骤3)在防火墙上允许samba服务

接下来,允许Samba穿越防火墙,以便外部用户可以访问samba共享。

$ sudo firewall-cmd --add-service=samba --zone=public --permanent
$ sudo firewall-cmd --reload

步骤4)启动并启用Samba服务

最后,启动并启用Samba和nmb服务

$ sudo systemctl start smb
$ sudo systemctl enable smb

然后确认smb服务是否正在运行:

$ sudo systemctl status smb

将CentOS 8加入Samba AD域环境中_服务器

$ sudo systemctl start nmb
$ sudo systemctl enable nmb

同样,确认nmb服务是否正在像smb服务一样运行:

$ sudo systemctl status nmb

在Samba中创建安全共享

每个人都可以访问我们刚刚创建的文件共享,任何用户都可以创建和删除文件。如果您要共享关键文档,这也将构成挑战,因为它们也可以被覆盖或删除。因此,我们需要创建一个安全的文件共享来应对这一挑战。

首先,我们将为samba用户创建一个新组,如下所示:

$ sudo groupadd secure_group

然后我们将一个新用户添加到新创建的组中

$ sudo useradd -g secure_group linuxuser

接下来,我们将创建一个新的安全文件夹,然后分配必要的权限和文件所有权,如下所示。

$ sudo mkdir -p /srv/samba/secure_share
$ sudo chmod -R 0770 /srv/samba/secure_share
$ sudo chcon -t samba_share -p /srv/samba/secure_share
$ sudo chown -R root:secure_group /srv/samba/secure_share

将CentOS 8加入Samba AD域环境中_服务器_02

接下来,我们将为samba用户分配一个密码,该密码将在访问安全文件共享时使用。这将提示您提供SMP密码,然后再确认。

$ sudo smbpasswd -a linuxuser

将CentOS 8加入Samba AD域环境中_linux_03

现在让我们回到Samba的配置文件

$ sudo vim /etc/samba/smb.conf

附加如下所示的配置行:

[secured]
path = /srv/samba/secure_share
valid users = @secure_group
guest ok = no
writable = yes
browsable = yes

将CentOS 8加入Samba AD域环境中_linux_04

保存并退出,然后重新启动Samba服务

$ sudo systemctl restart samba

 +++++++++++++++从Linux机器访问Samba安全文件夹++++++++++++++++++++++

要从Linux系统访问共享目录,只需运行以下命令:

$ smbclient --user=linuxuser -L //192.168.43.13

在提示时提供密码,然后按Enter

将CentOS 8加入Samba AD域环境中_linux_05

访问安全共享运行

$ smbclient //192.168.43.13/secured -U linuxuser

将CentOS 8加入Samba AD域环境中_配置文件_06

随意创建文件和目录以与其他samba用户共享。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

1、检查文件夹及配置文件,是否设置错误,文件夹名是否写错?

2、 检查共享文件列表

smbclient -L  //192.168.221.129/

使用pdbedit -L 命令查看用户是否加入samba服务器?
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
如果用windows访问samba,跳出以下对话框的错误:

无法访问。您可能没有权限使用网络资源。请与这台服务器的管理员联系以查明您是否有访问权限。

不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接。中断与此服务器或共享资源的所有连接,然后再试一次……或者直接重启Windows。

怎么断开连接(即退出Samba服务器)呢?

在Windows的命令行中输入:

net use * /delete /y
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
linux centos 服务器上文件夹的所有者必须是共享用户名和用户组。不能是root
ls -al    #查看权限及所有者
chown -R jf:jifang /home/samba/shared     #更改所有者和用户组