SMB文件共享
1.SMB服务的安装
yum install samba -y
yum install samba-common -y
yum install sambaclient -y
2.启动smb服务,关闭防火墙。
3.使用smbpasswd -a命令,向smbpasswd文件中添加用户Cecilia。
4.使用pdbedit -L命令列出samba用户列表。
5.列出服务端所提供的共享文件夹。
6.像ftp客户端一样使用smbclient,登陆成功后,可以使用ls命令列出当前目录下的文件。
7.使用getsebool -a 命令列出samba服务的布尔值设置情况,将samba_ enable_home_dirs打开,设定samba用户可以访问自己的家目录。
8.如何设置共享目录?编辑samba配置文件/etc/samba/smb.conf,添加如下内容。[DATA]表示共享目录的名字,path中列出了它的绝对路径,comment则是对共享目录的描述。
注意:当共享目录是自建立目录时(selinux为强制模式且samba_export_all_ro和samba_export_all_rw是开启状态),需要修改目录的安全上下文,这样共享目录中的文件才能够被smb服务识别。
semanage fcontext -a -t samba_share_t '/share(/.*)?'
restorecon -FvvR /share/
当共享目录是系统目录时,可以调整以下布尔值,设置系统目录的共享权限。
samba_export_all_ro --> off/on ##只读共享
samba_export_all_rw --> off/on ##读写共享
SMB访问权限控制
编辑samba配置文件/etc/samba/smb.conf,添加如下行。
hosts allow #仅允许
hosts deny #仅拒绝
valid users #当前共享的有效用户
valid users westos #当前共享的有效用户为westos
valid users @westos #当前共享的有效用户为westos组
valid users +westos #当前共享的有效用户为westos组
SMB共享目录挂载
##配置文件中添加如下行,设置匿名用户可以挂载
guest ok = yes
map to guest = bad user
普通用户挂载(该用户必须为smb用户)
SMB多用户挂载
yum install -y cifs-utils
编辑/root/smbpassword文件,添加认证用户(服务端smb用户之一)
chmod 600 /root/smbpassword ##更改权限
mount -o credentials=/root
/smbpassword,multiuser,sec=ntlmssp //172.25.254.232/DATA /mnt/
切换至普通用户,执行cifscreds add -u Ilona 172.25.254.232 ##Ilona为服务端smb用户
SMB读写权限控制
设置所有用户均可写
chmod o+w /mnt
setsebool -P samba_export_all_rw on
vim /etc/samba/smb.conf
writable = yes
设置指定用户可写
write list = student #可写用户
write list = +student #可写用户组
write list = @student
admin users = westos #共享的超级用户指定