插件窝 干货文章 linux中的rws是什么意思

linux中的rws是什么意思

权限 执行 SUID 文件 148    来源:    2025-04-14

在Linux中,rws 是文件权限位的一部分,通常出现在 ls -l 命令的输出中。它由以下两部分组成:


1. 基础权限部分 (rw-)

  • r:读权限(Read)
  • w:写权限(Write)
  • -:此处本应是执行权限(x),但被特殊权限覆盖(见下文)。

2. 特殊权限位 (s)

  • 最后一个字符的 s 替代了原本的 x(执行权限),表示该文件设置了 SUID(Set User ID) 权限:
    • SUID的作用:当用户执行此文件时,进程会以文件所有者的权限运行(而非执行者的权限)。
    • 典型例子/usr/bin/passwd(允许普通用户修改密码时临时获得root权限)。

完整示例

ls -l /usr/bin/passwd

输出可能类似:

-rwsr-xr-x 1 root root 59976 Nov 24  2022 /usr/bin/passwd
  • 第一个 rws 表示:
    • 所有者(root)有读、写权限,且设置了SUID。
    • 其他用户有读和执行权限(r-x)。

其他类似的特殊权限

  • SGID(Set Group ID):显示为 s 在组权限的执行位上(如 rwxr-sr-x)。
  • Sticky Bit:显示为 t 在其他用户的执行位上(如 rwxrwxrwt,常见于 /tmp 目录)。

如何设置SUID?

chmod u+s 文件名    # 添加SUID
chmod 4755 文件名   # 数字形式(4表示SUID)

安全提示

SUID权限可能带来安全风险,需确保只有可信文件设置此权限。滥用可能导致权限提升漏洞。