CIFS 文件的存储
#1.samba的作用
samba是一款软件,主要功能是提供cifs协议
#2.samba的安装与启用
*)在服务端
yum install samba samba-common samba-client -y
systemctl start smb
systemctl enable smb
systemctl stop firewalld
*)samba的基本信息
Samba 服务的组成部分
软件包 :
Samba-common – Samba 的支持文件
Samba-client – 客户端应用程序
Samba – 服务器应用程序
服务名称 :smb nmb
服务端口 : 通常使用 TCP/445 进行所有连接。还使用
UDP137 、 UDP138 和 TCP/139 进行向后兼容
主配置文件 :/etc/samba/smb.conf
*)基本配置信息
workgroup = WESTOS ##工作组的设定
server string = hello world ##全局共享信息
hosts deny = 172.25.254.127 ##客户端黑名单
hosts allow = 172.25.254.127 ##客户端白名单
systemctl restart smb.service ##改完配置文件重启服务
#3.测试
*)在客户端
yum install smaba-client -y
smbclient -L //172.25.254.227
Enter root's password: ##没有密码直接回车
#黑名单客户端测试
#其他客户端测试
#白名单用户端测试
#4.本地用户建立
*)在服务端
##samba用户必须时本地用户
useradd westos
useradd lee
smbpasswd -a westos
smbpasswd -a lee
pdbedit -L ##列出samba用户
pdbedit -x lee ##删除samba用户
setsebool -P samba_enable_home_dirs on ##允许用户samba访问其家目录,该设定仅于用户家目录主页
#测试
*)在客户端
smbclient -L //172.25.254.227 -U lee
Enter lee's password:lee
用lee用户登陆并建立目录
smbclient //172.25.254.227/lee -U lee
vim /etc/fstab
//172.25.254.227/lee /mnt cifs defaults,username=lee,password=lee 0 0
##自动挂载在/mnt
#5.自定义共享目录
*)当目录是用户建立时
mkdir /sambadir
semange fcontext -a -t samba_share_t '/sambadir(/.*)?'
restorecon -FvvR /sambadir/
vim /etc/samba/smb.conf
[DATA]
comment = hello world
path = /sambadir
*)当目录是系统目录时
setsebool -P samba_export_all_ro on
[DATA]
comment = /mnt
path = /mnt
测试
smbclient -L //172.25.254.227 -U lee
smbclient //172.25.254.227/DATA -U lee
smb: \> ? ##表示列出可使用的命令
##实现客户端永久挂载
*)匿名用户登陆权限开放
guest ok = yes ##匿名用户可以登陆
map to guest = bad user ##匿名用户可以时,用guest名称挂在
#测试
#6.权限控制
#用户可写
chmod 777 /sambadir
setsebool -P samba_export_all_rw on
writable = no ##是否开启写权力
write list = lee ##写权力对lee用户开放
在客户端
自动挂载
write list = +lee ##写权力对lee组用户开放
westos用户未加入lee用户组之前不能写入
加入lee组之后
admin users = westos ##设定westos用户为当前共享的root
valid users = lee ##设定当前共享的有效用户
browseable = no|yes ##当前共享是否隐藏
隐藏
不隐藏
#7.samba的多用户挂在
*)在客户端
yum install cifs-utils -y
vim /root/sambapasswd
username=lee
password=lee
chmod 600 /root/sambapasswd
mount -o credentials=/root/sambapasswd,sec=ntlmssp,multiuser //172.25.254.227/DATA /mnt
#credentials=/root/sambapasswd ##挂载时的用户认证
#sec=ntlmssp ##其他用户的认证方式
#multiuser ##支持其他用户认证
#测试
ls /mnt
su - student
ls /mnt
ls: permission denied
在student下
cifscreds add -u westos 172.25.254.227
ls /mnt
touch /mnt/file5
可以看到建立file5所用到的用户身份是samba用户westos