如何在Windows上安装Samba4在CentOS 7上进行文件共享

在我们的最后一篇文章中,我们展示了如何在Ubuntu上安装Samba4,以便在Ubuntu系统和Windows机器之间进行基本文件共享。 我们在哪里查看配置匿名(不安全)以及安全文件共享。

在这里,我们将介绍如何在CentOS 7上安装和配置Samba4(也适用于RHEL 7 ),用于在其他Linux系统和Windows机器之间进行基本文件共享。

重要提示 :从版本4.0开始,Samba可以作为Active Directory(AD)域控制器(DC)运行 我们建议您阅读我们关于设置Samba4 Active Directory域控制器的特别系列,其中包括Ubuntu,CentOS和Windows的关键主题。

在CentOS 7中安装Samba4

1.首先使用yum软件包管理器工具从默认CentOS存储库安装Samba4和所需的软件包,如图所示。

# yum install samba samba-client samba-common

在CentOS 7上安装Samba4

2.安装samba软件包后,可以通过系统防火墙通过这些命令启用samba服务。

# firewall-cmd --permanent --zone=public --add-service=samba
# firewall-cmd --reload

在Firewalld上打开Samba

检查Windows机器工作组设置

3.在继续配置samba之前,请确保Windows计算机位于要在CentOS服务器上配置的相同工作组中。

有两种可能的方法来查看Windows机器工作组设置:

  • 右键单击“ 本PC ”或“ 我的电脑 ”→ 属性高级系统设置计算机名称

检查Windows WorkGroup

  • 或者,打开cmd提示符并运行以下命令,然后在输出中查找“工作站域 ”,如下所示。
>net config workstation

验证Windows WorkGroup

在CentOS 7上配置Samba4

主要的samba配置文件是/etc/samba/smb.conf ,原始文件带有预配置设置,可以说明各种配置指令来指导您。

但是,在配置samba之前,建议您备份这样的默认文件。

# cp /etc/samba/smb.conf /etc/samba/smb.conf.orig

然后,如下所述,继续配置samba以进行匿名安全的文件共享服务。

Samba4匿名文件共享

5.首先创建文件将存储在服务器上的共享目录,并在目录上设置适当的权限。

# mkdir -p /srv/samba/anonymous
# chmod -R 0775 /srv/samba/anonymous
# chown -R nobody:nobody /srv/samba/anonymous

此外,您需要更改samba共享目录的SELinux安全上下文,如下所示。

# chcon -t samba_share_t /srv/samba/anonymous

创建Samba共享目录

6.接下来,打开samba配置文件进行编辑,您可以在其中使用相应的指令修改/添加以下部分。

# vi /etc/samba/smb.conf
Samba配置设置
[global]
workgroup = WORKGROUP
netbios name = centos
security = user
[Anonymous]
comment = Anonymous File Server Share
path = /srv/samba/anonymous
browsable =yes
writable = yes
guest ok = yes
read only = no
force user = nobody

7.现在通过运行以下命令验证当前samba设置。

# testparm
验证Samba当前配置设置
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Anonymous]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
# Global parameters
[global]
netbios name = centos
printcap name = cups
security = USER
idmap config * : backend = tdb
cups options = raw
[homes]
comment = Home Directories
browseable = No
inherit acls = Yes
read only = No
valid users = %S %D%w%S
[printers]
comment = All Printers
path = /var/tmp
browseable = No
printable = Yes
create mask = 0600
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
create mask = 0664
directory mask = 0775
write list = root
[Anonymous]
comment = Anonymous File Server Share
path = /srv/samba/anonymous
force user = nobody
guest ok = Yes
read only = No

8.最后,启动并启用samba服务,在下次启动时自动启动,并应用上述更改生效。

# systemctl enable smb.service
# systemctl enable nmb.service
# systemctl start smb.service
# systemctl start nmb.service

测试匿名Samba文件共享

9.现在在Windows机器上,从Windows资源管理器窗口打开“ 网络 ”,然后单击CentOS主机,否则尝试使用其IP地址访问服务器(使用ifconfig命令获取IP地址)。

e.g. \\192.168.43.168.

共享网络主机

接下来,打开匿名目录,并尝试添加文件以与其他用户共享。

Samba匿名分享

将文件添加到Samba匿名共享

安装Samba4安全文件共享

11.首先创建Samba系统组,然后将用户添加到组中,并为每个用户设置密码。

# groupadd smbgrp
# usermod youcl -aG smbgrp
# smbpasswd -a youcl

12.然后创建一个保存共享文件的安全目录,并为samba的SELinux安全上下文设置相应的权限。

# mkdir -p /srv/samba/secure
# chmod -R 0770 /srv/samba/secure
# chown -R root:smbgrp /srv/samba/secure
# chcon -t samba_share_t /srv/samba/secure

13.接下来打开配置文件进行编辑,并使用相应的指令修改/添加下面的部分。

# vi /etc/samba/smb.conf
Samba安全配置设置
[Secure]
comment = Secure File Server Share
path =  /srv/samba/secure
valid users = @smbgrp
guest ok = no
writable = yes
browsable = yes

14.再次,通过运行以下命令来验证samba配置设置。

$ testparm
验证安全配置设置
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Anonymous]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
# Global parameters
[global]
netbios name = centos
printcap name = cups
security = USER
idmap config * : backend = tdb
cups options = raw
[homes]
comment = Home Directories
browseable = No
inherit acls = Yes
read only = No
valid users = %S %D%w%S
[printers]
comment = All Printers
path = /var/tmp
browseable = No
printable = Yes
create mask = 0600
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
create mask = 0664
directory mask = 0775
write list = root
[Anonymous]
comment = Anonymous File Server Share
path = /srv/samba/anonymous
force user = nobody
guest ok = Yes
read only = No
[Secure]
comment = Secure File Server Share
path = /srv/samba/secure
read only = No
valid users = @smbgrp

15.重新启动Samba服务以应用更改。

# systemctl restart smb.service
# systemctl restart nmb.service

测试安全的Samba文件共享

16.转到Windows机器,从Windows资源管理器窗口打开“ 网络 ”,然后单击CentOS主机,否则尝试使用其IP地址访问服务器。

e.g. \\192.168.43.168.

您将被要求提供您的用户名和密码登录CentOS服务器。 输入凭据后,单击“ 确定”

Samba安全登录

一旦您成功登录,您将看到所有的samba共享目录。 现在通过将其放在安全目录中,与网络上的其他许可用户安全地共享一些文件。

Samba安全共享目录

您还可以在网络上查看有关Samba文件共享的有用文章。

  1. 如何在Linux中挂载/卸载本地和网络(Samba和NFS)文件系统
  2. 使用ACL(访问控制列表)和安装Samba / NFS共享
  3. 如何在Linux系统中修复SambaCry漏洞(CVE-2017-7494)

在本指南中,我们向您展示了如何设置Samba4以便在CentOS和其他Linux系统以及Windows机器之间进行匿名和安全的文件共享。 通过下面的评论部分与我们分享任何想法。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏