一 基本权限ACL
和基本权限ugo不一样,这个基本权限可以对不同用户设置不同权限,是针对一些特殊用户的。而ugo只可以设置一个用户,一个组和其他一部分人。可以理解为ugo权限是这个acl权限的一种特殊形式。
语法:setfacl -m 对象(u,g,o) :用户名或组名:权限(r,w,x) 文件对象
示例:
1.新建一个文件可以看到文件的属组 和属组只有root。
2.给文件写入程序
文件执行成功
3.然后我们新建两个用户 user123 和 user321
4.把这两个用户授予权限
可以看到两个用户分别被授予了对文件“1”的不同权限
5.检验权限
切换到user123下发现对文件”1“有rwx权限,那么我们再把他的权限删除验证一下。
语法: 删除部分权限 setfacl -x 对象:对象名:权限 文件
删除所有权限 setfacl -b 对象 :对象名: 权限 文件
可以看到除了查看有权限,因为文件本身是允许其他对象查看,但是写入和执行权限都没有了,这说明成功改变了用户对文件的权限。
接下来我们验证另一个命令-全部删除
1.
2.验证权限
权限都没有了,删除成功.
二 特殊权限
1.特殊权限suid
普通用户对一个root下的文件是没有权限的,但是通过修改设置suid,使普通用户通过suid临时提权,查看超管root用户的文件。
1.在root下创建一个文件,在普通用户下无法查看内容,权限不够。
2.为cat添加上suid权限(谁执行谁有权限)
cat已被加上了s权限
3.验证权限
普通用户也可以成功查看root.完成之后将cat的suid权限删去.
2.chattr(文件属性)
用于锁定不同文件进行修改
示例:
1.创建一个新文件,查看默认权限
2.给文件添加属性
文件属性:
添加了属性后文件不能删除,更改
3.验证
我们发现文件不能被删除。
4.将它还原
3.umask
改变掩码
总结:新建文件权限为777-111-掩码
新建目录权限为777-掩码
注:这里只和掩码后三位数字相减