# firewall-cmd --permanent --add-service=samba
# firewall-cmd --reload
步骤四: 配置 Samba 共享目录现在我们来看看配置文件 /etc/samba/smb.conf 并添加用于共享的章节(section):我们希望组 finance 的成员可以浏览 /finance 的内容,在里面保存/创建文件或者子目录(默认权限为 0777,组所有者为 finance):
smb.conf
[finance]
comment=Directoryfor collaboration of the company's finance team
browsable=yes
path=/finance
public=no
valid users=@finance
write list=@finance
writeable=yes
create mask=0770
Force create mode=0770
force group=finance
保存文件然后用 testparm 工具进行测试。如果这里有任何错误,命令的输出或提示你需要如何修复。否则,会显示你 Samba 服务器配置的回顾:
测试 Samba 配置
如果你要添加另一个公开的共享目录(意味着不需要任何验证),在 /etc/samba/smb.conf 中创建另一章节,在共享目录名称下面复制上面的章节,只需要把 public=no 更改为 public=yes 并去掉有效用户(valid users)和写列表(write list)命令。
步骤五: 添加 Samba 用户下一步,你需要添加 user1 和 user2 作为 Samba 的用户。要做到这点,你需要用 smbpasswd 命令,它会和 Samba 的数据库进行交互。会提示你输入一个命令用于你之后和共享目录连接:
# smbpasswd -a user1
# smbpasswd -a user2
最后,重启 Samda,并让系统启动时自动启动该服务,确保共享目录对网络客户端可用:
#systemctl start smb
#systemctl enable smb
# smbclient -L localhost –U user1
# smbclient -L localhost –U user2
验证 Samba 共享
到这里,已经正确安装和配置了 Samba 文件服务器。现在让我们在 RHEL 7 和 Windows 8 客户端中测试该配置。
步骤六: 在 Linux 中挂载 Samba 共享首先,确保客户端可以访问 Samba 共享:
# smbclient –L 192.168.0.18-U user2
在 Linux 上挂载 Samba 共享
(为 user1 重复上面的命令)
正如任何其它存储介质,当你需要的时候你可以挂载(之后卸载)该网络共享:
#mount//192.168.0.18/finance /media/samba -o username=user1
挂载 Samba 网络共享
(其中 /media/samba 是一个已有的目录)
或者在 /etc/fstab 文件中添加下面的条目以自动挂载:
fstab
//192.168.0.18/finance /media/samba cifs credentials=/media/samba/.smbcredentials,defaults 0 0
其中隐藏文件 /media/samba/.smbcredentials(它的权限被设置为 600 和 root:root)有两行内容,指示允许使用共享的账户的用户名和密码:
.smbcredentials
username=user1
password=PasswordForUser1
最后,让我们在 /finance 中创建一个文件并检查权限和属性:
#touch/media/samba/FileCreatedInRHELClient.txt
在 Samba 共享中创建文件
正如你看到的,用权限 0770 和属主 user1:finance 创建了文件。
步骤七: 在 Windows 上挂载 Samba 共享