#######CIFS文件的存储########
本单元涵盖的主题:
** SMB文件共享
** SMB多用户挂载
####SMB文件共享######
通用Internet文件系统(CIFS)也称为服务器信息块(SMB),是适用于Microsoft Windows服务器和客户端的标准文件和打印机共享系统。Samba服务可用于将Linux文件系统作为CIFS/SMB网络文件共享进行共享,并将Linux打印机作为CIFS/SMB打印机共享进行共享。
1.samba作用
提供cifs协议实现共享文件
2.安装
yum install samba samba-common samba-client -y
systemctl start smb nmb
systemctl enable smb nmb
服务端口:
smb: 139和445端口
nmb: 137和138端口
3.添加smb用户
smb用户必须时本地用户
smbpasswd -a student
New SMB password: #输入smb当前用户密码
Retype new SMB password: #确认密码
pdbedit -L #查看smb用户信息
pdbedit -x smb用户 #删除smb用户
setsebool -P samba_enable_home_dirs on ##在selinux中设定smb用户可以访问自己的家目录
测试:
smbclient -L //172.25.254.162 -U student ##访问162主机的samba用户
smbclient //172.25.254.162/student -U student ##访问162主机的samba用户的家目录
4.共享目录的基本设定
vim /etc/samba/smb.conf
[haha] 共享名称
comment = 对共享目录的描述
path = 共享目录的绝对路径
workgroup = WESTOS ##域名westos
当共享目录为用户自建立目录时
semanage fcontext -a -t samba_share_t ‘目录名称(/.*)?‘
restorecon -RvvF 目录名称
##访问/smbshare目录
当共享目录为系统建立目录
setsebool -P samba_export_all_ro on #只读共享
setsebool -P samba_export_all_rw on #读写共享
测试:
smbclient //172.25.254.162/haha -U student
##访问系统目录/mnt只可读-
5.samba的配置参数
#匿名用户访问
guest ok = yes
map to guest = bad user
#访问控制
hosts allow = #仅允许
hosts deny = #仅拒绝
valid users = #当前共享的有效用户
valid users = westos #当前共享的有效用户为westos
valid users = @westos #当前共享的有效用户为westos组
valid users = +westos #当前共享的有效用户为westos组
测试:
smbclient //172.25.254.162/haha ##匿名用户访问
smbclient //172.25.254.162/haha -Uwestos ##westos用户访问
smbclient //172.25.254.162/haha -Ustudent ##westos组的student用户访问
##仅拒绝172.25.254.62访问
##共享的有效用户为westos
##当前共享的有效用户为westos组
#读写控制
所有用户均可写
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 #共享的超级用户指定
测试:
mount -o username=student,password=smb //172.25.254.162/haha /mnt/ ##student用户可写
mount -o username=westos,password=smb //172.25.254.162/haha /mnt/ ##westos用户代表超级用户
6.smb多用户挂载
在client上
vim /root/haha
username=student
password=lee
chmod 600 /root/haha
yum install cifs-utils -y
mount -o credentials=/root/haha,multiuser,sec=ntlmssp //172.25.254.100/haha/mnt/
#credentials=/root/haha 指定挂载时所用到的用户文件
#multiuser 支持多用户认证
#sec=ntlmssp 认证方式为标准smb认证方式
su - kiosk
ls /mnt
ls: cannot access /mnt: Permission denied #因为没有作smb的认证所以无法访问smb共享
cifscreds add -u westos 172.25.254.100
Password: ##smb用户westos的密码
ls /mnt