要求:三个用户才能访问,并且设置权限是:
a.zhangsan,lisi,wangwu用户都能通过输入用户名和密码(159357)登录并上传文件
b.zhangsan能够查看和删除所有人的文件
c.lisi能够查看所有人的文件,但不能删除别人的文件
d.wangwu只能查看和删除自己的文件,不能查看和删除别人的文件
安装samba:
yum install samba
systemctl start smb //启动服务器
systemctl enable smb //设置开机启动
配置文件修改:
[global]
workgroup = WorkGroup
security = user
passdb backend = tdbsam
[FileLS]
path = /usr/share/FileLS
valid users = zhangsan,lisi,wangwu
writable = yes
create mask = 0640
#将用户上传文件的默认权限设置为0640,也就是说只有文件的所有者以及所属组用户才具有读取权限
创建文件夹:
mkdir -p /usr/share/FileLS
chmod 777 /usr/share/FileLS
创建用户:
useradd -d /dev/null zhangsan -s /sbin/nologin
useradd -d /dev/null lisi -s /sbin/nologin
useradd -d /dev/null wangwu -s /sbin/nologin
smbpasswd -a zhangsan
smbpasswd -a lisi
smbpasswd -a wangwu
pdbedit -L 查看samba用户
修改SELinux安全上下文的限制:
semanage fcontext -a -t samba_share_t /usr/share/Files
restorecon -Rv /usr/share/Files
防火墙端口放行:
firewall-cmd --permanent --add-port=139/tcp
firewall-cmd --reload
到这步三个用户都能访问了,并且权限一样都可以上传和删除
用户能否删除一个文件,取决于用户对文件所在的目录是否具有写入权限,所以这里自然就想到了sbit粘滞位权限
chmod o+t /usr/share/FileLS/
ll -d /usr/share/FileLS/
修改目录所有者(所有者才有权限删除):
chown zhangsan /usr/share/FileLS/
新建组满足读的权限:
groupadd smbusers
chown :smbusers /usr/share/FileLS/
chmod g+s /usr/share/FileLS/ #目录设置SGID权限
gpasswd -a zhangsan smbusers
gpasswd -a lisi smbusers
分别用三个用户登陆测试成功