作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
根据前面Linux用户介绍,里面涉及到超级管理员,普通用户,系统用户,既然用户有区分,那不同的用户对应的权限是否也有区别呢?当然是有的,权限也分普通权限和特殊权限,我们也将从下面几个方面来介绍。
1.Linux权限-普通权限
2.Linux权限-特殊权限(本章节)
3.Linux权限-chmod命令
4.Linux权限-chown命令
在Linux系统中,有一些特殊权限和文件属性,它们可以进一步控制文件和目录的访问和行为。这些特殊权限和属性通常通过文件的权限位(文件属性)和文件属性位(文件系统特性)来实现。以下是一些常见的特殊权限和属性:
1. 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
。
-
2. ACL(Access Control List)
-
ACL
:Access Control List,即访问控制列表,允许用户对文件或目录设置更为精细的权限控制,可以控制多个用户或组对文件或目录的访问权限。
-
设置 ACL:
setfacl
命令用于设置 ACL,如setfacl -m u:user:rwx filename
。 -
查看 ACL:
getfacl
命令用于查看 ACL,如getfacl filename
。
-
3. 文件属性
-
Immutable (i):设置了文件的不可变属性后,即使是超级用户也不能修改或删除该文件,直到该属性被取消。
-
设置不可变属性:
chattr +i filename
。 -
取消不可变属性:
chattr -i filename
。
-
-
Append-only (a):设置了文件的追加属性后,只能向文件中追加内容,不能删除或修改文件的已有内容。
-
设置追加属性:
chattr +a filename
。 -
取消追加属性:
chattr -a filename
。
-
总结
1.实际运维中理解SUID权限就看passwd
这个命令的权限。
2.有些文件为了加强保护,会增加特殊权限,避免被删除。
3.lsattr
命令可以用于查看文件是否包含特殊属性。
关注微信公众号《运维小路》获取更多内容。