在RHEL 8上安装Samba4以在Windows上进行文件共享

在本文中,我们将介绍如何在RHEL 8服务器上安装和配置Samba4,以便与Windows计算机进行匿名和安全的文件共享。

Samba是一个开源,快速,安全,稳定且广泛使用的网络文件系统,为使用SMB / CIFS协议的所有客户端提供文件共享和打印服务,例如Linux,所有版本的DOS和Windows,OS / 2,以及许多其他操作系统。

在我们之前的文章中,我们已经解释了如何在CentOS / RHEL 7上安装Samba4,以便在CentOS / RHEL系统和Windows机器之间共享基本文件。 我们在哪里学习了如何为匿名配置Samba以及在机器之间进行安全的文件共享。

在本文中,我们将介绍如何在RHEL 8上安装和配置Samba4 ,以便与Windows机器共享基本文件。

在RHEL 8中安装Samba4

1.要安装Samba 4及其依赖项,请使用DNF包管理器 ,如图所示。

# dnf install samba samba-client samba-common
在RHEL 8上安装Samba

在RHEL 8上安装Samba

2.安装完成后,启动Sambe服务,使其在系统引导时自动启动,并使用systemctl命令验证该服务,如下所示。

# systemctl start smb
# systemctl enable smb
# systemctl status smb
在RHEL 8上启动并启用Samba服务

在RHEL 8上启动并启用Samba服务

3.接下来,如果配置firewalld ,则需要在防火墙配置中添加Samba服务,以允许通过系统访问共享目录和文件。

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

在RHEL 8上配置Samba4

4.要配置Samba以进行文件共享,您需要创建默认samba配置文件的备份副本,该文件包含预配置设置和各种配置指令。

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

现在,继续为匿名和安全文件共享服务配置samba,如下所述。

在RHEL 8上设置Samba4匿名文件共享

5.在本节中,第一步是创建将在服务器上存储文件的共享目录。 然后在目录中定义适当的权限,如图所示。

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

6.接下来,使用chcon实用程序 ,更改已创建的samba共享目录的SELinux安全上下文。

 
# chcon -t samba_share_t /srv/samba/anonymous

7.现在使用您喜欢的基于文本的文件编辑器打开配置文件,以在共享目录上配置匿名不安全文件共享。

# vim /etc/samba/smb.conf

修改以下全局参数并为Anonymous共享添加一个部分。 请注意,您可以根据需要设置自己的值(有关更多信息,请参阅man smb.conf )。

[global]
        workgroup = WORKGROUP
        netbios name = rhel
        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
在RHEL 8上配置匿名共享

在RHEL 8上配置匿名共享

保存文件中的更改并关闭。

8.然后运行以下命令以验证配置是否正确。

# testparm 
验证Samba当前配置设置
Load smb config files from /etc/samba/smb.conf 
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) 
Unknown parameter encountered: "netbios" 
Ignoring unknown parameter "netbios" 
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] 
       printcap name = cups 
       security = USER 
       idmap config * : backend = tdb 
       cups options = raw 
[homes] 
       browseable = No 
       comment = Home Directories 
       inherit acls = Yes 
       read only = No 
       valid users = %S %D%w%S 

[printers] 
       browseable = No 
       comment = All Printers 
       create mask = 0600 
       path = /var/tmp 
       printable = Yes                                                                                                                           
                                                                                                                          
[print$]                                                                                                                                
       comment = Printer Drivers                                                                                                                  
       create mask = 0664                                                                                                                         
       directory mask = 0775                                                                                                                      
       force group = @printadmin                                                                                                                  
       path = /var/lib/samba/drivers 
       write list = @printadmin root 


[Anonymous] 
       comment = Anonymous File Server Share 
       force user = nobody 
       guest ok = Yes 
       path = /srv/samba/anonymous 
       read only = No

9.如果Samba配置正常 ,请继续并重新启动samba服务,以使最近的更改生效。

# systemctl restart smb

10.最后,测试匿名共享是否正常工作,登录Windows机器,打开Windows资源管理器 ,单击网络 ,然后单击RHEL主机,或使用服务器IP地址访问它(运行ip add命令)服务器可以帮助您查看IP地址)。

e.g. 2.168.43.198

11.接下来,打开Anonymous目录并尝试在其中添加文件以与其他用户共享。

Samba匿名共享

Samba匿名共享

将文件添加到Samba匿名共享

将文件添加到Samba匿名共享

在RHEL 8上设置Samba4安全文件共享

12.要创建安全共享目录,需要创建Samba系统组。 受保护共享的所有用户都将添加到该组。 您可以使用groupadd命令创建组,如下所示。

# groupadd smbgrp

然后使用usermod命令将所有用户(例如howtoing)添加到组中,并为每个用户设置密码,如图所示。

# usermod howtoing -aG smbgrp
# smbpasswd -a howtoing

13.接下来,创建将安全存储共享文件的安全目录,然后在目录上设置适当的权限。 此外,更改目录的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

14.接下来,打开配置文件进行编辑。

# vim /etc/samba/smb.conf

并在文件末尾添加以下部分。

[Secure]
        comment = Secure File Server Share
        path =  /srv/samba/secure
        valid users = @smbgrp
        guest ok = no
        writable = yes
        browsable = yes

保存更改并关闭文件。

15.接下来,通过运行testparm命令再次验证samba配置。

# testparm

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

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

测试安全Samba文件共享

17.最后,测试安全共享是否正常工作。 在Windows计算机上,打开Windows资源管理器 ,单击“ 网络” ,然后单击RHEL主机,或者尝试使用其IP地址访问服务器,如前所述。

e.g. 2.168.43.198

系统会要求您输入用户名和密码以登录RHEL 8服务器。

Samba安全登录

Samba安全登录

18.登录后,您将获得所有samba共享目录的列表。 现在,您可以通过在Secure目录中添加文件,安全地与网络上的其他允许用户共享一些文件。

Samba安全共享

Samba安全共享

就这样! 在本文中,我们展示了如何在RHEL 8中安装和配置Samba 4 ,以便与Windows机器共享匿名和安全的文件。 您对本指南有任何问题或意见,请使用下面的反馈表与我们联系。