检查 SUID、SGID 和 Sticky
时间: 2024-06-02 22:10:27 浏览: 138
SUID、SGID 和 Sticky 都是文件或目录的权限属性,它们可以通过 `ls -l` 命令查看。它们的含义如下:
- SUID:当一个 SUID 文件被执行时,该进程会拥有文件所有者的权限。SUID 属性只对二进制可执行文件有效,对脚本文件无效。例如,`/usr/bin/passwd` 文件就是一个 SUID 文件,当一个普通用户执行此文件时,该进程会拥有 root 用户的权限。
- SGID:当一个 SGID 文件被执行时,该进程会拥有文件所属组的权限。SGID 属性只对二进制可执行文件有效,对脚本文件无效。例如,`/usr/bin/mail` 文件就是一个 SGID 文件,当一个普通用户执行此文件时,该进程会拥有 mail 组的权限。
- Sticky:当一个目录被设置了 Sticky 属性后,该目录下的文件只有文件所有者和 root 用户才能删除或移动。例如,`/tmp` 目录就是一个设置了 Sticky 属性的目录,普通用户只能删除自己创建的文件,不能删除其他用户创建的文件。
为了检查 SUID、SGID 和 Sticky 属性,可以使用以下命令:
- 检查 SUID 属性:使用 `find / -perm -4000` 命令来查找系统中所有的 SUID 文件。
- 检查 SGID 属性:使用 `find / -perm -2000` 命令来查找系统中所有的 SGID 文件。
- 检查 Sticky 属性:使用 `ls -ld /tmp` 命令来查看 /tmp 目录的权限设置,如果权限中包含 t,则说明该目录设置了 Sticky 属性。
相关问题
设置、修改、查看文件特殊权限suid、sgid及sticky
1. 设置suid权限:
命令格式:chmod u+s filename
说明:设置用户执行文件时,文件的拥有者权限代替执行者权限。
2. 设置sgid权限:
命令格式:chmod g+s dirname
说明:设置用户在目录下创建文件时,文件的所属组为目录的所属组。
3. 设置sticky权限:
命令格式:chmod +t dirname
说明:设置用户在目录下创建文件时,只有文件的拥有者和超级用户才能删除或重命名该文件。
4. 查看文件特殊权限:
命令格式:ls -l filename
说明:使用ls命令查看文件的详细权限信息,特殊权限在文件权限中以s或t表示。
linux 中 suid sgid stid
在 Linux 中,suid、sgid和sticky bit都是文件或目录的权限标志位,它们分别表示:
1. suid(Set User ID):当一个可执行文件拥有 suid 标志时,它会在执行时以文件所有者的身份运行,而不是当前用户的身份。这通常用于一些需要特殊权限才能执行的程序,例如 passwd 命令。
2. sgid(Set Group ID):当一个可执行文件拥有 sgid 标志时,它会在执行时以文件所在组的身份运行,而不是当前用户所在组的身份。这通常用于一些需要特殊权限才能执行的程序,例如 mail 命令。
3. sticky bit:当一个目录拥有 sticky bit 标志时,只有该目录的所有者、root用户和文件的所有者才有权限删除该目录下的文件。这通常用于一些需要共享写权限的目录,例如 /tmp 目录。
这些标志位可以通过 chmod 命令设置,例如:
```
chmod u+s file # 设置 suid 标志
chmod g+s file # 设置 sgid 标志
chmod +t dir # 设置 sticky bit 标志
```
阅读全文