什么是cifs
CIFS 是一个新提出的协议,它使程序可以访问远程Internet计算机上的文件并要求此计算机提供服务。CIFS
使用客户/服务器模式。客户程序请求远在服务器上的服务器程序为它提供服务。服务器获得请求并返回响应。CIFS是公共的或开放的SMB协议版本,并由Microsoft使用。SMB协议在局域网上用于服务器文件访问和打印的协议。像SMB协议一样,CIFS在高层运行,而不像TCP/IP协议那样运行在底层。CIFS可以看做是应用程序协议如文件传输协议和超文本传输协议的一个实现。
cifs用于实现windwos和linux之间文件的共享
什么是samb
用于实现cifs的软件
samb服务器的安装以及配置
yum install samba samba-client samba-common -y
##下载samba的客户端、常用命令、服务端
systemctl start smb ##启动samba服务
systemctl enable smb ##设置samba开机自启动
systemctl stop firewalld ##关闭防火墙
getsebool -a | grep samba ##查看samba有关的布尔值
setsebool -P samba_enable_home_dirs on ##设定samba用户可以访问自己的家目录
samba用户的管理
smbpasswd -a student ##student用户必须为本机用户
pdbedit -L ##查看
pdbedit -x student ##删除用户
客户端测试:
samba共享目录的设置
1、建立共享目录并设定
mkdir /sambashare
2、配置sbmba配置文件
vim /etc/samba/smb.conf
[共享名称]
comment = 共享说明
path = 共享目录
3、重启smb服务
4、由于selinux是开启的,所以需要配置安全上下文
客户端测试:
smbclient //192.268.181.141/共享目录 -U customer smbclient
//192.168.181.141/share -U customer
共享目录的IP和网段配置
挂载命令:
mount //ip/share /mnt/smb -o username=student,password=redhat
1、基于ip的配置
编辑配置文件
[share]
comment = share dir
path = /share
hosts allow = 192.168.181.141 ##只允许192.168.181.141主机挂载
在未被授权的140上挂载是无法挂载的
2、基于网段的限制挂载
[share]
comment = share dir
path = /share
hosts deny = 192.168.181
3、设置开机自动挂载
yum install cifs-utils.x86_64 -y
vim /etc/fstab
//192.168.181.141/share /mnt/smb cifs defaults,username=student,password=redhat 0 0
samba匿名访问
vim /wtc/samba/smb.conf 编辑配置文件
[share]
comment = share
path = /share
map to guest = bad user
guest ok = yes
测试:
samba共享目录的有关参数
writable = yes
##打开写权限 write list = +student
##对student组可写 write
list = student redhat
##对student、redhat用户可写 valid users =
student
##student可以挂载目录 valid users = @student ##student组可以挂载目录
browseable = no
##是否隐藏,no隐藏,yes不隐藏
admin users =customer ##共享目录添加管理员扫描二维码关注公众号,回复: 9700427 查看本文章
设置用户可写
编辑配置文件
[share]
comment = share
path = /share
guest ok = yes
writable = yes ##打开写权限,设置后所有用户都可写
selinux的布尔值更改
更改权限:chmod 777 /share
测试:
mount //192.168.181.141/share /mnt/smb/ -o username=customer,password=123
touch /mnt/smb/file
ls -l /mnt/smb/
对用户组可写
编辑配置文件:
再以其他用户身份挂载:
mount //192.168.181.141/share /mnt/smb/ -o username=test,password=" "
某些用户可以挂载共享目录
[share]
comment = share dir
path = /share
; writable = yes
; write list = +customer
; write list = customer
valid users = customer ##可以加多个用户 用空格隔开
先用customer用户挂载:
再用未授权的用户挂载:
挂载之前先确保test用户不属于customer用户
是否隐藏该共享目录
[share]
comment = share dir
path = /share
browseable = no
测试:可以看到共享目录被隐藏了
但是依旧是可以被挂载的
共享目录添加管理员
编辑配置文件
[share]
comment = share dir
path = /share
writable = yes
admin users = customer
使用customer用户挂载,root用户创建文件,可以看到文件的所有者为文件的创建者
多用户挂载
多用户挂载解决了客户端超级用户挂载之后,该客户端的普通用户同时也可以访问共享目录内容的问题:
客户端:
管理员操作
yum install cifs-utils.x86_64 -y
建立共享目录认证文件
vim /root/passfile ##写入samba服务端的用户和密码,文件名称任意
给认证文件设置权限
chmod 600 /root/passfile
mount -o credentials=/root/passfile,multiuser,sec=ntlmssp //192.168.181.141/share /mnt
认证文件 说明挂载类型为多用户 默认参数
credentials=/root/passfile ##指定挂载的应乎文件
Multiuser ##支持多用
sec=ntlmssp ##认证方式为smb