Linux 文件管理之特殊权限
💡
原文中文,约1300字,阅读约需4分钟。
📝
内容提要
Linux 除了基本的读取、写入和执行权限外,还有特殊权限设置,包括 SUID、SGID 和粘滞位。SUID 允许普通用户以超级用户权限执行程序,SGID 影响新文件的属组,而粘滞位则防止用户删除共享目录中的文件。
🎯
关键要点
- Linux 除了基本的读取、写入和执行权限外,还有特殊权限设置,包括 SUID、SGID 和粘滞位。
- SUID 允许普通用户以超级用户权限执行程序,改变有效用户ID。
- setuid 位的八进制表示为 4000,设置后程序以属主的有效用户ID执行。
- SGID 影响新文件的属组,设置后新文件由目录的属组所有。
- setgid 位的八进制表示为 2000,设置后目录下新创建的文件属组为目录的属组。
- 粘滞位用于防止用户删除共享目录中的文件,只有属主或超级用户可以删除。
- 粘滞位的八进制表示为 1000,常用于控制对共享目录的访问。
❓
延伸问答
什么是 SUID 权限,它的作用是什么?
SUID(Set User ID)允许普通用户以超级用户权限执行程序,改变有效用户ID。
如何设置 SUID 权限?
可以使用命令 chmod u+s <程序文件名> 来设置 SUID 权限,八进制表示为 chmod 4755 <程序文件名>。
SGID 权限的作用是什么?
SGID(Set Group ID)会将新创建文件的属组设置为目录的属组,而非文件创建者的属组。
如何设置 SGID 权限?
可以使用命令 chmod g+s <目录名> 来设置 SGID 权限,八进制表示为 chmod 2775 <目录名>。
粘滞位的作用是什么?
粘滞位用于防止用户删除共享目录中的文件,只有属主或超级用户可以删除。
如何设置粘滞位?
可以使用命令 chmod +t <目录名> 来设置粘滞位,八进制表示为 chmod 1777 <目录名>。
➡️