修改权限的方式
chmod
- 数字方式:chmod 777 对象
设置对象的权限为777,即:属主、属组和其他人都拥有可读、可写、可执行权限。
- 表达式方式:chmod u+x 对象
为对象的属主增加x权限
- chmod u-x 对象
取消对象属主的x权限;
- chmod u=r-x 对象
设置对象属主的权限为:r-x,并覆盖之前的权限设置。
chown:修改属主或属组
- chown jack:jack 文件
同时修改文件的属主为jack,属组为jack
- chown -R jack:jack 目录
同时修改目录及其中的文件的属主为jack,属组为jack
chgrp 修改属组
- chgrp jack 文件
修改文件的属组为jack。
- chgrp -R jack /home/test
修改目录及其中的文件属组为jack
修改目录权限时,一定要加-R(递归)参数。
/test/ 表示test目录中的文件;
/test 表示目录本身
特殊权限
1、suid --s -4 以文件属主的身份执行,而非执行文件的用户身份。
stat 文件 #可以看到该文件的suid权限。
设置SUID:chmod u+s 文件
2、sgid --s -4 以文件属组的身份执行。在设置了sgid权限的目录中,创建的任意文件,其属组属性均为该目录的所属组。
设置SGID:chmod g+s 文件
3、sticky(SBIT) --t -1 对目录有写入权限的用户,仅能删除属于自己的文件,不能删除其他用户的文件。
#在当前权限位有x权限时,粘滞位显示为t;
#在当前权限位没有x权限时,粘滞位显示为T;
设置Sticky:chmod o+t 文件
文件的隐藏权限,使用ll或ls看不到这些权限。
1、chattr:设置或修改隐藏权限。
格式:chattr [参数] 文件
#+[参数],添加隐藏权限;
#-[参数],删除隐藏权限;
参数;
a 仅允许补充、追加内容,无法覆盖或修改内容。
S 问价内容变更后,立即同步到硬盘(sync)
u 当删除该文件后,依然保留其在硬盘上的数据,方便日后恢复。
2、lsattr:查看文件或目录的隐藏权限。
ACL权限(文件访问控制列表)
用途:
- 对某些用户进行单独的权限控制。即:赋予某些用户或用户组,对指定文件或目录的rwx权限中的一个或几个。
- 对目录授权,目录中的文件自动继承授权。对文件授权,文件将不再继承目录的ACL权限。
命令及参数:
- setfacl用于管理文件的ACL规则。
格式:setfacl 参数 文件名称
授予jack用户对root目录及以下文件的rwx权限。
setfacl -Rm u:jack:rwx /root
设置成功后,指定目录和文件的权限标志最后一位会有一个+号。
- -R 递归,针对目录设置ACL权限;
- -m 针对文件设置ACL权限;
- -b 删除目录或文件的指定ACL权限
- getfacl查看目录或文件的ACL权限详情。