作者介绍:在简历上并没有标注精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面展示的思维导图也包含了预计更新的内容以及当前的进度(不定期更新)。
根据之前关于Linux用户的介绍,其中提到了超级管理员、普通用户和系统用户,既然用户有这些分类,那么不同用户的权限是否也有差异呢?当然是有的,权限分为普通权限和特殊权限,我们将从以下几个方面进行介绍。
Linux权限-普通权限
Linux权限-特殊权限(本章节)
Linux权限-chmod命令
Linux权限-chown命令
在Linux系统中,存在一些特殊权限和文件属性,它们可以进一步控制文件和目录的访问及行为。这些特殊权限和属性通常通过文件的权限位(文件属性)和文件属性位(文件系统特性)来实现。以下是一些常见的特殊权限和属性:
Docker Desktop(linux)
当前 Docker 最新稳定版本之一,主要针对稳定性和兼容性进行了修复优化,适合生产环境与日常开发使用。该版本继续强化 AI 开发支持、容器日志管理以及 Docker Engine 的安全能力,对 Windows/macOS/Linux 平台兼容性进行了进一步优化。
下载
Setuid、Setgid 和 Sticky Bit
Setuid (SUID):当文件被设置了SUID权限后,执行该文件的用户将暂时获得文件所有者的权限。在执行过程中,该用户的权限将提升到文件所有者的权限级别。示例:
,使用
查看时,文件权限会显示为
。这个权限最典型的就是
命令,这样root用户可以用它修改自己的密码,而其他普通用户也可以通过这个命令修改自己的密码。所以它的权限就是
。
Setgid (SGID):当文件被设置了SGID权限后,执行该文件的用户将以文件所属组的身份运行。对于目录,则表示新建文件和目录将继承父目录的组权限。示例:
,使用
查看时,文件权限会显示为
。
Sticky Bit:常用于目录上,设置了Sticky Bit后,只有文件所有者、目录所有者或超级用户可以删除或移动文件,即使其他用户对该目录有写权限。示例:
,使用
查看时,目录权限会显示为
。
ACL(Access Control List)
ACL:访问控制列表,允许用户对文件或目录设置更为精细的权限控制,可以控制多个用户或组对文件或目录的访问权限。设置 ACL:
命令用于设置 ACL,如
。查看 ACL:
命令用于查看 ACL,如
。
文件属性
Immutable (i):设置了文件的不可变属性后,即使是超级用户也不能修改或删除该文件,直到该属性被取消。设置不可变属性:
。取消不可变属性:
。
Append-only (a):设置了文件的追加属性后,只能向文件中追加内容,不能删除或修改文件的已有内容。设置追加属性:
。取消追加属性:
。
总结
在实际运维中,通过观察
命令的权限来理解SUID权限。
为了加强保护,有些文件会增加特殊权限,防止被删除。
命令可以用于查看文件是否包含特殊属性。
chmod u+s filenamels -l-rwsr-xr-xpasswd-rwsr-xr-xchmod g+s filenamels -l-rwxr-sr-xchmod +t directoryls -lddrwxrwxrwtsetfaclsetfacl -m u:user:rwx filenamegetfaclgetfacl filenamechattr +i filenamechattr -i filenamechattr +a filenamechattr -a filenamepasswdlsattr