and*_*ers 83 setuid privileges
请比较以下两行:
-rws---r-x 1 root root 21872 2009-10-13 21:06 prg1
-rwx---r-x 1 root root 21872 2009-10-13 21:06 prg2
Run Code Online (Sandbox Code Playgroud)
上的 setuid 位prg1以及“其他”的读取和执行位是否意味着任何用户都可以使用 root 权限运行它?该 prg2也有读取和执行“其他”,但没有设置setuid位,这是否意味着它仍然可以通过任何用户,但没有root权限运行?
cas*_*sey 93
那是“setuid”位,它告诉操作系统使用其所有者的用户 ID 执行该程序。这通常与 root 拥有的文件一起使用,以允许普通用户在没有外部工具(例如sudo)的情况下以 root 身份执行它们。
您可以使用 设置 suid 位chmod,例如chmod 4755,这将给一个文件赋予正常权限 755 do ( rwxr-xr-x) 并添加 suid 位以给予rwsr-xr-x
您可以通过发出一个带有 0 前缀的普通 chmod 命令来清除 setuid 位。例如,要将权限设置回rwxr-xr-x您可以使用chmod 0755.
ori*_*ion 26
恰恰相反,您不需要使用 sudo 或切换到 root,可执行文件会为您完成。