一、CIFS文件系统
1 .CIFS系统:Internet文件共享系统,也称服务器信;适用于MicrosoftWindows服务器和客户端的标准文件和打印机的共享系统息块(SMB)
2 .Samba服务:用于将linux文件系统作为CIFS/SMB网络文件进行共享,并将linux打印机作为CIFS/SMB打印机进行共享
二、Smb服务
1 .安装smb服务
samba ##服务端程序
samba-common ##samba命令
samba-client ##客户端程序
2 .打开smb,列出共享文件系统信息
systemctl start smb ##打开smb服务
smbclient -L //172.25.254.116 ##列出116的共享文件信息
3 .用户登陆
**必须是本地用户
smbpasswd -a westos ##设定westos用户密码
pdbedit -L ##列出smb用户
pdbedit -x westos ##删除westos用户
smbclient -L //172.25.254.116 -U student ##student用户查看的共享目录
smbclient //172.25.254.116/student -U student ##进入student用户的student家目录进行编辑
smb: \> ls ##列出远程文件
smb: \> ! ls ##列出本地主机文件
4 .设置默认域名 ( /etc/samba/smb.conf )
5 .设置黑白名单
*)设置白名单(116可以登陆)
*)设置黑名单(116不能登陆)
三、Smb的Selinux保护
1 . 当Selinux=Disabled时
- 进入用户家目录进行编辑
smb: \> ls ##列出远程文件
smb: \> ! ls ##列出本地主机文件
smb: \> put anaconda-ks.cfg ## 上传
smb: \> rm anaconda-ks.cfg ## 删除
- 指定用户挂载
mount //172.25.254.116/westos /mnt/ -o username=westos,password=westos
vim /etc/fstab ##永久挂载
//172.25.254.116/westos /mnt cifs defaults,username=westos,password=westos 0 0
mount -a ##刷新挂载
2 .当Selinux=Enforing时
samba_enable_home_dirs ##允许本地主目录作为CIFS文件共享
use_samba_home_dirs ##允许挂载远程CIFS文件共享并将其用作本地主目录
samba_share_t ##smb共享目录的selinux安全上下文
samba_export_all_ro ##共享目录只读
samba_export_all_rw ##共享目录读写
- 1.进入用户家目录编辑
getenforce –>Enforcing
systemctl start smb
- 2 .修改sebool值,进入用户家目录编辑
- 3 .共享目录
**用户建立目录:**
修改配置文件,共享linux目录 /etc/samba/smb.conf
[linux]
comment = dir from westos
path = /westos
重启smb,可以看到linux目录共享信息
但是,westos用户登陆无法编辑
修改linux目录的安全上下文,重启后再次登陆编辑
semanage fcontext -a -t samba_share_t '/westos(/.*)?'
restorecon -RvvF /westos/ ##刷新
**系统目录:**
修改配置文件,共享mnt系统目录
[mnt]
comment = dir from /mnt
path = /mnt
重启后查看共享目录信息
设定samba的sebool值,打开所有共享目录的读写权限
- 设置linux的挂载读写登陆
[linux]
common = dir from westos
path = /westos
valid users = @westos ##westos组可以挂载
;writable = yes ##所有用户可以写
write list = student ##student用户可以写
guest ok = yes ##匿名登陆
map to guest =bad user ##匿名用户映射为guest
browseable = no ##查看时隐藏linux共享目录
admin users = westos ##westos用户编辑时属于westos组
四、多用户挂载
客户端: 安装 cifs-utils软件
vim /root/smbauth
username=student
password=student
mount //172.25.254.100/linux /mnt -o multiuser,credentials=/root/smbauth,sec=ntlmssp
##多用户挂载
切换普通用户,访问/mnt被拒绝,通过用户认证cifscreds add -u westos 172.25.254.116 即可访问
若密码输入错误则必须cifscreds clear -u westos 172.25.254.116 ,登陆成功后,touch file1,ll查看file1的uid,gid为abc 即可