1.samba
1)SMB文件共享,通用Internal文件系统(CIFS)也称为服务器信息块(SMB),是适用于Microsoft Windows服务器和客户端的标准文件和打印机共享系统。
2)Samba服务器可用于将Linux文件系统作为CIFS / SMB网络文件共享进行共享,并将Linux打印机作为CIFS / SMB打印机共享进行共享
2.安装
1)Samba-common - Samba的支持文件
2)Samba-client - 客户端应用程序
3)Samba - 服务器应用程序
yun install samba samba-common samba-client -y
systemctl start smb nmb
3.添加smb用户
1)smb用户必须是本地用户
smbpasswd -a student
New SMB password: ##输入密码
Retype new SMB password ##确认密码
pdbedit -L ##查看smb用户信息
pdbedit -x smb用户 ##删除smb用户
4.通过smb用户访问家目录
测试:smbclient //172.25.254.227/student -U student
##ACCESS_DENIED,访问被拒绝
setsebool -P samba_enable_home_dirs on ##在selinux中设定smb用户可以访问自己的家目录
再次测试:smbclient //172.25.254.227/student -U student
5.共享目录的基本设置
vim /etc/samba/smb.conf ##smb的主配置文件
workgroup = WESTOS ##工作组名称
[westos] ##共享名称
comment = gghf ##对共享目录的描述
path = /smbshare ##共享目录的绝对路径
测试:smbclient -L //172.25.254.227 -U student ##可看到所创建的共享目录
#当共享目录为用户自建立目录时需配置自建立目录安全上下文
semanage fcontext -a -t samba_share_t '/smbshare(/.*)?' ##配置安全上下文
restorecon -RvvF /smbshare ##重新加载
安全上下文设置完成后测试:smbclient //172.25.254.227/westos -U student
vim /etc/samba/smb.conf
path = /mnt ##将共享目录换为 /mnt
测试:smbclient //172.25.254.227/westos -U student
#当共享目录为系统建立目录时:
setsebool -P samba_export_all_ro on ##只读共享
setsebool -p samba_export_all_rw on ##读写共享
测试,开启只读共享后:smbclient //172.25.254.227/westos -U student
6.samba的配置参数
#匿名用户访问
vim /etc/samba/smb.conf
map to guest = bad user ##客户访问匿名
guest ok = yes ##允许匿名客户访问
测试: smbclient //172.25.254.227/westos
#访问控制
host allow = 172.25.254.127 ##仅允许172.25.254.127访问
测试:分别在172.25.254.127和172.25.254.60上访问smb
host deny = 172.25.254.127 ##仅拒绝172.25.254.127访问
测试:分别在172.25.254.127和172.25.254.60上访问smb
valid users = westos ##当前共享的有效用户为westos
测试:分别以student用户与westos用户访问
valid users = @westos ##当前共享的有效用户为westos组
valid users =+westos ##当前共享的有效用户为westos组
usermod -G westos student ##将student用户归于westos组中
测试,以student用户身份访问:
#访问用户读写控制
mount -o username=westos,password=westos //172.25.254.227/westos /mnt/ ##在客户端上以westos身份将172.25.254.227/westos挂载到/mnt上
touch file10 ##创建文件被拒绝
chmod o+w /mnt/ ##/mnt目录其他用户可写
setsebool -P samba_export_all_rw on ##读写共享
vim /etc/samba/smb.conf
writable = yes ##用户可写
测试:挂载172.25.254.227/westos
touch test
vim /etc/samba/smb.conf
write list = student ##student为可写用户
测试:
vim /etc/samba/smb.conf
write list = @westos ##可写用户组为westos
测试,student属于westos用户组:
vim /etc/samba/smb.conf
admin users = westos ##共享的超级用户指定(给westos超级用户权限)
测试,westos用户创建文件属于超级用户root
7.smb多用户挂载
yum install cifs-utils -y
vim /root/gg ##访问时所需的用户名密码
chmod 600 /root/gg ##只有root能读
测试:
credentials=/root/gg ##指定挂载时所用的用户文件
multiuser ##支持多用户认证
sec=ntlmssp ##认证方式为标准smb认证方式
测试:su - student
Permission denied ##因为没有做smb的认证所以无法访问smb的共享
cifscreds add - u westos 172.25.254.227 ##添加认证用户