作者介绍:在简历上并没有标注精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面展示的思维导图也包含了预计更新的内容以及当前的进度(不定期更新)。
根据之前关于linux用户的介绍,其中提到了超级管理员、普通用户和系统用户,既然用户有这些分类,那么不同用户的权限是否也有差异呢?当然是有的,权限分为普通权限和特殊权限,我们将从以下几个方面进行介绍。
-
Linux权限-普通权限
-
Linux权限-特殊权限(本章节)
-
Linux权限-chmod命令
-
Linux权限-chown命令
在Linux系统中,存在一些特殊权限和文件属性,它们可以进一步控制文件和目录的访问及行为。这些特殊权限和属性通常通过文件的权限位(文件属性)和文件属性位(文件系统特性)来实现。以下是一些常见的特殊权限和属性:
-
Setuid、Setgid 和 Sticky Bit
- Setuid (SUID):当文件被设置了SUID权限后,执行该文件的用户将暂时获得文件所有者的权限。在执行过程中,该用户的权限将提升到文件所有者的权限级别。示例:chmod u+s filename,使用 ls -l 查看时,文件权限会显示为 -rwsr-xr-x。这个权限最典型的就是passwd命令,这样root用户可以用它修改自己的密码,而其他普通用户也可以通过这个命令修改自己的密码。所以它的权限就是-rwsr-xr-x。
- Setgid (SGID):当文件被设置了SGID权限后,执行该文件的用户将以文件所属组的身份运行。对于目录,则表示新建文件和目录将继承父目录的组权限。示例:chmod g+s filename,使用 ls -l 查看时,文件权限会显示为 -rwxr-sr-x。
- Sticky Bit:常用于目录上,设置了Sticky Bit后,只有文件所有者、目录所有者或超级用户可以删除或移动文件,即使其他用户对该目录有写权限。示例:chmod +t Directory,使用 ls -ld 查看时,目录权限会显示为 drwxrwxrwt。
-
ACL(Access Control List)
- ACL:访问控制列表,允许用户对文件或目录设置更为精细的权限控制,可以控制多个用户或组对文件或目录的访问权限。设置 ACL:setfacl 命令用于设置 ACL,如 setfacl -m u:user:rwx filename。查看 ACL:getfacl 命令用于查看 ACL,如 getfacl filename。
-
文件属性
- Immutable (i):设置了文件的不可变属性后,即使是超级用户也不能修改或删除该文件,直到该属性被取消。设置不可变属性:chattr +i filename。取消不可变属性:chattr -i filename。
- append-only (a):设置了文件的追加属性后,只能向文件中追加内容,不能删除或修改文件的已有内容。设置追加属性:chattr +a filename。取消追加属性:chattr -a filename。
总结
- 在实际运维中,通过观察passwd命令的权限来理解SUID权限。
- 为了加强保护,有些文件会增加特殊权限,防止被删除。
- lsattr命令可以用于查看文件是否包含特殊属性。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END