是的,Linux 的 chmod
命令可以设置特殊权限(Special Permissions),包括:
SetUID (SUID)
chmod u+s 文件名
或 chmod 4xxx 文件名
(如 4755)-rwsr-xr-x
(所有者执行位变为 s)SetGID (SGID)
chmod g+s 文件名
或 chmod 2xxx 文件名
(如 2755)-rwxr-sr-x
(组执行位变为 s)Sticky Bit
chmod o+t 目录名
或 chmod 1xxx 目录名
(如 1777)drwxrwxrwt
(其他用户执行位变为 t)数字表示法说明:
- 特殊权限作为第4位数字:
- SUID = 4
- SGID = 2
- Sticky = 1
- 例如:chmod 4755 file
(SUID + 755常规权限)
注意事项: 1. 大写 S/T 表示该位原本没有执行权限 2. 特殊权限可能带来安全风险,需谨慎设置 3. 查看权限时特殊权限会显示在 x 的位置(s/t)
示例:
# 设置SUID
sudo chmod u+s /usr/bin/passwd
# 设置SGID目录
chmod g+s /shared_dir
# 设置Sticky Bit
chmod o+t /tmp