特殊权限和执行权限有什么区别

特殊权限和执行权限有什么区别

我是 unix 新手,我试图找出执行权限和特殊权限之间的区别。例如,“su”命令具有权限

-rws-r-xr-x

在该权限下,用户可以以 root 身份执行该命令。

我已经改为

-rwx-r-xr-x 

使用 chmod 命令,在此权限下我也可以执行该命令。这两个权限之间有什么区别。

答案1

两者并不相互排斥。这封信s这里的意思是“是可执行的”具有‘setuid’位”。(如果文件有仅有的'setuid',但不是可执行文件,你会看到一个大写的S反而。)

正如您所指出的,'setuid' 位用于允许用户以 root 身份执行命令(更准确地说,以命令的所有者身份执行命令,但 root 是最常见的身份)。它通常设置在那些需要访问 root 专属功能的程序上。

在这种情况下,/bin/su 需要 root 权限才能切换用户帐户。如果删除“setuid”位,您仍然可以执行该程序,但它将无法按预期工作,因为 1) 无法检查其他用户的密码,因此您总是会收到“身份验证失败”的提示,2) 无法切换到其他用户的帐户,因此没有人可以su root再使用。

相关内容