linux之磁盘共享(cifs)
一 概念:
CIFS 是一个新提出的协议,它使程序可以访问远程Internet计算机上的文件并要求此计算机提供服务。CIFS 使用客户/服务器模式。客户程序请求远在服务器上的服务器程序为它提供服务。服务器获得请求并返回响应。CIFS是公共的或开放的SMB协议版本,并由Microsoft使用。SMB协议在局域网上用于服务器文件访问和打印的协议。像SMB协议一样,CIFS在高层运行,而不像TCP/IP协议那样运行在底层。CIFS可以看做是应用程序协议如文件传输协议和超文本传输协议的一个实现。
CIFS 可以使您达到以下功能:
二 安装与使用
cifs(普通文件系统共享) samba协议,不能自动挂卸载
nfs (网络文件系统共享) nfs协议,可以自动挂卸载
yum install samba-common.x86_64 samba.x86_64 samba-client -y ---安装服务
smbclient -L //172.25.254.153 ---匿名登陆
smbclient -L //172.25.254.153/student -U student ---student用户登陆
getsebool -a | grep samba ---查看bool
setsebool -P samba_enable_home_dirs on ---关闭samba用户访问目录限制
测试:
smbclient //172.25.254.153/student -U student
yum install samba-client -y
mount -o username=student,password=studnet //172.25.254.239/student /mnt/ ---挂载
vim /etc/samba/smb.conf
89 workgroup = xxx ---改组名
94 hosts deny = 172.25.254.139 ---黑名单
321 [DATA] ---共享文件夹名
comment = xxxx data
path = /xxx
systemctl restart smb
mkdir /xxx
touch /xxx/file
semanage fcontext -a -t samba_share_t '/xxx(/.*)?'
restorecon -FvvR /xxx/
测试:
vim /etc/samba/smb.conf
125 map to guest =bad user ---指定匿名用户身份
324 guest ok = yes ---允许匿名用户登陆
systemctl restart smb
smbclient //172.25.254.153/DATA
mount //172.25.254.239/DATA /mnt/ -o username=student
vim /etc/samba/smb.conf
writable=yes ---可写
write list = student/@student ---studnet用户可写/@student student用户组可写
admin users= admin ---设定管理员用户身份
systemctl restart smb
测试前需要作如下设定给与/westos文件相关权限
usermod -G student westos
setfacl -m u:studnet:rwx /haha
setfacl -m g:student:rwx /haha
useradd admin
smbpasswd -a westos
usermod -G student westos
然后分别以不同用户身份挂载,对磁盘进行写操作,两者对比
browseable = yes ----共享是否可见
valid users =student ---仅student用户可以使用共享服务
在客户端设置如下:没设置之前只要root 用户挂载,切换身份之后其他用户也是可见的,设置后,其他用户不可见
yum install cifs-utils -y
配置/root/smbfile文件
mount -o credentials=/root/smbfile,multiuser,sec=ntlmssp //172.25.254.239/DATA /mnt
---multiuser多用户模式,sec=ntlmssp认证方式 credentials=/root/smbfile 用smbfile文件下的用户身份登陆su -kiosk
cifscreds add -u student 172.25.254.239 ---切换用户后,用此命令,该用户即可以smb用户身份登陆