练习1
1、查看当前位置是否有文件有隐藏权限
lsattr
2、创建文件test1,设置隐藏权限,任何用户也无法删除创建的文件,并验证
touch test1
lsattr test1
chattr +i test1
lsattr test1
rm test1
lsattr test1
检查文件隐藏权限
3、创建文件test2,设置隐藏权限,任何用户只能对创建的文件进行追加操作,并验证
touch test2
lsattr test2
chattr +a test2
lsattr test2
echo '123' > test2
echo '123' >>test2
rm test2
lsattr test2
检查文件隐藏权限
echo '123' >test2
覆盖写入内容
echo '123' >>test2
追加写入内容
练习2
1、给cloud1文件设置suid特殊权限
touch cloud1
chmod u+s cloud1
ll cloud1
2、给cloud2文件和dd1目录文件设置sgid特殊权限
touch cloud2
mkdir dd1
chmod g+s cloud2
chmod g+s dd1
ll cloud2
ll -d dd1
3、给dd2目录文件设置sbit特殊权限
mkdir dd2
chmod o+t dd2
ll -d dd2
4、思考:怎样还原原权限
chmod u-s cloud1
chmod g-s cloud2
chmod g-s dd1
chmod o-t dd2
ll cloud1 cloud2
ll -d dd1 dd2
练习3
1、确保zhangsan用户可以使用ls命令查看/root目录下的文件信息
可以使用id zhangsan
检查是否有zhangsan用户,没有则使用useradd zhangsan
创建
chmod o+r /root
ll -d /root
2、确保使用共享目录文件/cloud2的用户只能对自己的文件进行修改,其他用户无权限【除root用户外】
# 创建文件夹
mkdir /cloud2
# 设置目录权限
chmod 1775 /cloud2
# 创建文件夹测试权限
mkdir /cloud2/zhangsan
# 设置测试文件夹权限
chmod 700 /cloud2/zhangsan
# 进入目录
cd /cloud2/zhangsan
# 创建文件
touch file
# 使用zhangsan权限
su zhangsan
# 删除文件,应该是删除失败
rm file
# 回到root权限
su root
# 删除成功
rm file
这里的权限设置1775意味着:
1:设置了setgid位,使得新创建的文件继承目录的组ID。
7:表示目录所有者有全部权限(rwx),组和其他用户有读和执行权限(r-x)。
5:表示设置了setgid位。
练习4
张三对/tmp/file有读写的权限,李四对/tmp/file有读的权限,王五对/tmp/file有写的权限,赵六对/tmp/file有读写执行的权限,设置并验证!
创建用户
useradd zhangsan
useradd ls
useradd ww
useradd zl
设置权限
setfacl -m "u:zhangsan:rw-" /tmp/file
setfacl -m "u:ls:r--" /tmp/file
setfacl -m "u:ww:-w-" /tmp/file
setfacl -m "u:zl:rwx" /tmp/file
getfacl /tmp/file
验证权限
# 切换用户李四
su ls
# 应该删除失败
rm /tmp/file
# 切换用户王五
su ww
# 应该不能查看文件内容
cat /tmp/file
# 正常 写入没问题
echo '123'>/tmp/file
© 版权声明
THE END
暂无评论内容