在多用户系统上,什么防止任何用户通过 root 访问任何其他用户文件?作为上下文,这个问题基于我的理解如下:
有两个与 root 权限相关的命令,sudo
和su
. 使用sudo
,您不会成为另一个用户(包括 root)。sudo
具有代表您执行的已批准命令的预定义列表。由于您没有成为 root 用户或其他用户,您只需使用自己的密码进行身份验证即可。
使用su
,您实际上成为 root 用户或其他用户。如果您想成为用户Bob,您需要Bob 的密码。要成为 root,您需要 root 密码(在多用户系统上定义)。
参考:howtogeek.com:
su
将您切换到 root 用户帐户并需要 root 帐户的密码。sudo
以 root 权限运行单个命令——它不会切换到 root 用户。
和
如果执行 su bob 命令,会提示你输入 Bob 的密码,shell 会切换到 Bob 的用户账户;computerhope.com 上的类似描述
'sudo' 是一个 root 二进制 setuid,它代表授权用户执行 root 命令
如果您成为 root,您就可以访问所有内容。任何未被授权访问其他用户帐户的人都不会获得 root 密码,也不会拥有sudo
允许它的定义。
这一切都是有道理的,直到您查看类似此链接的内容,这是一个使用教程sudo -V
,然后sudo su -
仅使用您自己的密码成为 …