CIFS (Common Internet File System)
通用Internet文件系统
配置环境:
172.25.254.133: hostnamectl set-hostname client.example.com
172.25.254.233: hostnamectl set-hostname server.example.com
1.安装
server:
yum install samba samba-client samba-common -y #安装samba
systemctl start smb
systemctl enable smb
systemctl stop firewalld
systemctl disable firewalld #开启samba服务
smbpasswd -a student #创建smb用户(此用户必须为系统中存在的用户)
useradd westos
smbpasswd -a westos
pdbedit -L #列出smb用户
pdbedit -x student #删除student用户
getsebool -a | grep samba #查看samba的所有开关
setsebool -P samba_enable_home_dirs on #关闭samba用户访问限制
client:
yum install samba-client -y #安装客户端应用程序
smbclient -L //172.25.254.233
smbclient -L //172.25.254.233 -U student
smbclient //172.25.254.233/student -U student
[root@client etc]# cd
smb: \> !ls #查看当前目录下的文件
smb: \> put #上传(只能上传当前目录下存在的文件)
创建用户
删除用户
关闭samba用户访问限制
查看是否可以上传文件
2.挂载
mount //172.25.254.233/student /mnt -o username=student,password=123
开机自动挂载:
方法一:
vim /etc/fstab
//172.25.254.233/student /mnt cifs defaults,username=student,password=123 0 0 #不推荐
方法二:
vim /etc/rc.d/rc.local
mount //172.25.254.233/student /mnt -o username=student,password=123
chmod +x /etc/rc.d/rc.local #给rc.local加可执行权限,检查是否可以正确执行
挂载:
自动挂载
方法一:编辑/etc/fstab
方法二:
3.smb的配置文件
1)工作组的更改:
vim /etc/samba/smb.conf
89 workgroup = westos
systemctl restart smb.service
2)访问控制:
白名单:
vim /etc/samba/smb.conf
97 hosts allow = 172.25.254.133
systemctl restart smb.service
黑名单:
vim /etc/samba/smb.conf
97 hosts deny = 172.25.254.133
systemctl restart smb.service
白名单:
黑名单:
3)共享目录的参数设置:
将自己创建的目录设为共享目录:
vim /etc/samba/smb.conf
322 [DIR] #共享名
323 comment=westos dir #对该共享的描述,可以是任意字符串
324 path=/westos #共享目录路径
systemctl restart smb.service
semanage fcontext -a -t samba_share_t '/westos(/.*)?' #更改安全上下文
restorecon -FvvR /westos/ #刷新安全上下文
smbclient -L 172.25.254.233 #查看共享目录是否创建成功
smbclient //172.25.254.233/DIR -U student
将系统目录设为共享目录:
vim /etc/samba/smb.conf
326 [mnt]
327 comment=/mnt dir
328 path=/mnt
systemctl restart smb.service
setsebool -P samba_export_all_ro on
smbclient -L 172.25.254.233 #查看共享目录是否创建成功
smbclient //172.25.254.233/mnt -U student
参数设置:
browseable:
vim /etc/samba/smb.conf
[DIR]
comment=westos dir
path=/westos
browseable = no #yes/no 此共享文件是否允许浏览
writable:
vim /etc/samba/smb.conf
[DIR]
comment=westos dir
path=/westos
writable = yes #yes/no 此共享文件是否可写
write list:
vim /etc/samba/smb.conf
[DIR]
comment=westos dir
path=/westos
write list = student #允许写入该共享的用户,+student或@student表示student组允许写入该目录
admin users:
vim /etc/samba/smb.conf
[DIR]
comment=westos dir
path=/westos
admin users=westos #指定该共享的管理员
创建共享目录:
查看共享目录是否设置成功:
4.多用户挂载
yum install cifs-utils -y
man mount.cifs
vim /root/smbpass
username=student
password=123
mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //172.25.254.233/DIR /mnt
#credentials=/root/smbpass查看时登陆的服务端smb用户
#sec=ntlmssp登陆时密码的方式
#multiuser多用户登陆的形式
su - test
cifscreds --help
cifscreds add -u westos 172.25.254.233 #客户端普通用户通过服务端smb的westos用户登陆
使用test用户查看root用户挂载在/mnt上的共享目录时需要通过验证:
5.匿名用户登陆
vim /etc/samba/smb.conf
123 security = user
124 passdb backend = tdbsam
125 map to guest = bad user
322 [DIR]
323 comment=westos dir
324 path=/westos
325 guest ok = yes
smbclient //172.25.254.233/DIR username=guest,password=""