CIFS文件系统
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CIFS文件系统相关的知识,希望对你有一定的参考价值。
一、基础信息
用Internet文件系统(CIFS)也称为服务器信是适用于MicrosoftWindows服务器和客户端的标准文件和打印机共享系统息块(SMB)
Samba服务可用于将Linux文件系统作为CIFS/SMB网络文件共享进行共享,并将Linux打印机作为CIFS/SMB打印机共享进行共享
软件包:
Samba-common ? ##Samba 的支持文件
Samba-client ? ? ? ? ##客户端应用程序
Samba ? ? ? ? ? ? ? ? ? ##服务器应用程序
服务名称:smb、nmb
服务端口:通常使用TCP/445进行所有连接。还使用UDP137、UDP138和TCP/139进行向后兼容
主配置文件:/etc/samba/smb.conf
二、存储分离
服务端:
[[email protected] ~]# iptables -F?????##刷空iptables策略
[[email protected] ~]# iptables -nL????##查看
安装需要的软件
[[email protected] ~]# yum install samba-common.x86_84 samba.x86_64 samba-client -y
[[email protected] ~]# systemctl start smb ? ? ? ? ??##开启
[[email protected] ~]# id student ? ? ? ? ? ? ? ? ? ? ? ??##samba用户必须是系统存在用户
[[email protected] ~]# smbpasswd -a student ? ? ?##设置samba用户登陆密码
[[email protected] ~]# smbclient -L //172.25.254.124 -U student ??##列出samba共享用户信息,登陆student
?
[[email protected] ~]# smbclient -L //172.25.254.124 ???##登陆匿名用户,并列出信息
这里匿名用户的Samba登陆密码为空,按下回车即可
[[email protected] ~]# getsebool -a | grep samba ? ??##查看状态
永久打开samba_enable_home_dirs(-P表示永久)
[[email protected] ~]# setsebool-Psamba_enable_home_dirs?on
[[email protected] ~]# smbclient //172.25.254.124/student -U student ??##查看共享信息
三、修改workgroup的名称
[[email protected] ~]# vim /etc/samba/smb.conf????##如下,已经改为Linux
[[email protected] ~]# systemctl restart smb ? ? ? ? ??##重启服务
如下,修改成功!!!
四、创建一个共享目录并修改相关信息
强制性状态
[[email protected] ~]# vim /etc/samba/smb.conf
共享名称为DATA、共享描述为qq data,共享路径为/westos
[[email protected] ~]# systemctl restart smb
[[email protected] ~]# smbclient -L //172.25.254.124
效果如下:
创建/westos目录
[[email protected] ~]# mkdir /westos/
修改安全上下文
[[email protected] ~]# semanage fcontext -a -t samba_share_t ‘/westos(/.*)?‘
[[email protected] ~]# restorecon -FvvR /westos/
[[email protected] ~]# smbclient //172.25.254.124/DATA -U student
效果如下:
?
在服务器主机上的/westos新建文件
[[email protected] ~]# touch /westos/file{1..3}
可以看到成功共享 ?
五、允许匿名登陆
思想:把匿名用户映射为guset,以此让匿名用户可以登陆
[[email protected] ~]# vim /etc/samba/smb.conf ? ? ? ? ? ##添加匿名用户身份guest
[[email protected] ~]# systemctl restart smb
客户端测试:
注意,匿名用户的密码为空
[[email protected] ~]# smbclient //172.25.254.124/DATA username=guest,password=""
开机自动挂载:
[[email protected] ~]# vim /etc/fstab
//172.25.254.124/DATA ????????????????????/mnt ??????????????????cifs ????defaults,username=guest,password="" 0 ?0
[[email protected] ~]# mount -a
?
六、对DATA可进行操作
可挂载前提下的操作
(1)任何smb用户都可以新建删除
服务端:
[[email protected] ~]# vim /etc/samba/smb.conf
[[email protected] ~]# systemctl restart smb
客户端:
[[email protected] ~]# mount -o username=student,password=123 //172.25.254.124/DATA /mnt/
此时,是文件系统拒绝被写,则需要修改服务器的目标目录/westos权限
[[email protected] ~]# setfacl -m u:student:rwx /westos/
客户端再次访问时,对其可写了
?
(2)只允许student用户新建删除
服务端:
[[email protected] ~]# vim /etc/samba/smb.conf
[[email protected] ~]# systemctl restart smb
新建系统用户以及samba用户xixi
[[email protected] ~]# useradd xixi
[[email protected] ~]# smbpasswd -a xixi
New SMB password:
Retype new SMB password:
Added user xixi.
客户端:
可以看到xixi用户不可写,只有student用户可以写
(3)只允许student用户组下的用户新建删除
服务端:
[[email protected] ~]# vim /etc/samba/smb.conf
注:+或@表示组的含义
[[email protected] ~]# systemctl restart smb
把/westos的组改为student
[[email protected] ~]# setfacl -m g:student:rwx /westos/
把用户xixi归属于student
[[email protected] ~]# usermod -G student xixi
客户端:
(4)赋予用户admin,使其对文件系统/westos/具有超级用户admin身份,进行新建删除
[[email protected] ~]# vim /etc/samba/smb.conf
[[email protected] ~]# systemctl restart smb
添加系统用户以及samba用户
[[email protected] ~]# useradd admin
[[email protected] ~]# smbpasswd -a admin
查看用户
客户端:
七、挂载问题
1、no表示隐藏DATA,但是仍然可以挂载
服务端:
[[email protected] ~]# vim /etc/samba/smb.conf
[[email protected] ~]# systemctl restart smb
客户端:
可以看到DATA已经隐藏,但是仍然可以挂载
2、DATA隐藏后,只有student用户可以挂载
服务端:
[[email protected] ~]# vim /etc/samba/smb.conf
[[email protected] ~]# systemctl restart smb
客户端:达到预期效果
3、DATA隐藏后,只有student用户组可以挂载
服务端:+或@表示组的意思
[[email protected] ~]# vim /etc/samba/smb.conf
[[email protected] ~]# systemctl restart smb
客户端:admin用户不是student组,故不能挂载
八、安全性
多用户管理,多用户挂载,并且该用户是通过安全认证的
客户端:
[[email protected] ~]# ?yum install cifs-utils -y
在root下新建smbfile以保存用户信息
[[email protected] ~]# vim /root/smbfile?
[[email protected] ~]# chmod 600 /root/smbfile ?? ##改其权限
挂载的同时,以student身份通过认证
[[email protected] ~]# ?mount -o credentials=/root/smbfile,multiuser,sec=ntlmssp //172.25.254.124/DATA /mnt/
[[email protected] ~]# exit ? ? ? ?##切换到kiosk用户(此时kiosk未认证,即没有权限)
以服务器主机smb用户xixi的身份通过认证
[[email protected] ~]$ cifscreds add -u xixi 172.25.254.124
加以验证:
此时kiosk新建三个目录
[[email protected] ~]$ mkdir ?/mnt/kiosk{1..3}
服务端:很清楚
?
0?0
以上是关于CIFS文件系统的主要内容,如果未能解决你的问题,请参考以下文章