使用命令lsattr命令可以显示文件的隐藏权限
选项;
使用命令 chattr 命令可以设置/删除文件的隐藏属性
使用方法;
chattr ;a a.txt //给文件添加a隐藏权限
chattr -a a.txt //给文件删除a隐藏权限
我们可以设置一下几种权限;
a;使文件不能被删除/覆盖内容;只能添加数据。
i: 无法对文件进行修改。如果对目录设置了该参数;表示只能修改目录下面文件的内容;不能新建和删除文件。
S;文件内容在变更后立即同步到硬盘
s;彻底从硬盘中删除;不可回复。;用0填充原文件所在硬盘区域;
A;不在修改这个文件或目录的最后访问时间;atime;
b: 不在修改文件或目录的存取时间
D;检查压缩文件中的错误
d: 使用 dump 命令备份时忽略该文件或目录
c;默认将文件或目录进行压缩
u;当删除该文件后依然保留该文件在硬盘中的数据;方便日后恢复
X;可以直接访问压缩文件中的内容
功能;
a.仅对二进制程序有效
b.执行者对程序需要有x;可执行;权限
c.执行者将以文件所有者身份来执行
也就是说;一般情况下;只有root权限可以使用passwd;按照下面的使用方法;我们可以在任何用户使用passwd。
使用方法;
chmod u;s /usr/bin/passwd
该权限只对目录有效;将目录设置为SGID后;如果在该目录下创建文件;都将与该目录的所属组保持一致。
普通用户对该目录拥有w和x权限;即普通用户可以在此目录中拥有写入权限;如果没有粘滞位;那么普通用户拥有w权限;就可以删除此目录下的所有文件;包括其他用户简历的文件。但是一旦被赋予了粘滞位;除了root可以删除所有文件;普通用户就算有w权限也只能删除自己建立的文件;而不能删除其他用户简历的文件。
a.带有粘滞位权限的目录下的所有文件;谁都可以读、写 2.
b.带有粘滞位权限的目录下的文件只有属主能删除自己的文件;其他用户无法删除
c.带有粘滞位权限的目录;只有root能删除
使用方法;
chmod g;s /usr/bin/passwd
该权限只对目录有效;将目录设置为SGID后;普通就会对该目录拥有w和x权限;可以添加和删除文件;但是;只有自己可以删除自己创建的文件;不可以删除别人创建的文件;当然;root用户可以删除其他人创建的文件。
使用方法;
chmod o;t /home/
ACL是Access Control List;访问控制列表;的缩写;不过在Linux系统中;ACL用于设定用户针对文件的权限;而不是在交换路由器中用来控制数据访问的功能;类似于防火墙;。
1.查看系统挂载的某个分区是否支持acl权限
jian;ubuntu:~/share$ sudo dumpe2fs -h /dev/sda5 |grep acl
dumpe2fs 1.45.5 (07-Jan-2020)
Default mount options: user_xattr acl
上面的输出的Default mount options可以看到是支持acl的;如果看不到表示不支持。
2.设置acl权限支持
通过上面的命令可以看到支持acl的;如果不支持;我们可以重新挂载;使得挂载分区支持acl权限;
mount -o remount, acl /
上面的命令表示重新挂载根分区;并且使其可以使用acl权限。
3.查看文件的ACL权限
jian;ubuntu:~/share$ getfacl a
# file: a
# owner: jian
# group: jian
user::rw-
group::rw-
other::r--
4.设定文件的ACL权限
setfacl 选项 文件名/目录
选项;
-m;设定 ACL 权限。如果是给予用户 ACL 权限;则使用;u:用户名;权限;格式赋予;如果是给予组 ACL 权限;则使用;g:组名;权限; 格式赋予;
-x;删除指定的 ACL 权限;
-b;删除所有的 ACL 权限;
-d;设定默认 ACL 权限。只对目录生效;指目录中新建立的文件拥有此默认权限;
-k;删除默认 ACL 权限;
-R;递归设定 ACL 权限。指设定的 ACL 权限会对目录下的所有子文件生效;
例如;
setfacl -m u:li:rx a
可以给li用户添加ACL权限。