我已经使用Linux一段时间了,每当我键入命令时,sudo
我都以为我要切换到root用户执行命令。
显然这是不正确的,因为我需要的只是用户帐户的密码。我猜是因为我没有与多个用户一起工作,所以在现实世界中我还没有真正注意到这一点。
我不确定Ubuntu如何设置我的第一个帐户。有root用户吗?我有根吗?我猜我刚刚在安装时创建了一个新用户,但是它给了我root特权?这里有点困惑...
那么,为什么允许我使用用户密码运行root命令?
sudo
设置了“ setuid”位。因此,它以拥有它的用户(如果没有记错的话,它是所有标准系统的根用户)的身份运行,而不是启动它的用户。 sudo
然后加载/etc/sudoers
文件并根据谁启动文件检查允许的内容。
sudo
特权用户,也许是在地理位置分散的地方工作,并且需要按24×7轮班工作,因此您希望能够立即撤销一个人的特权访问权限(例如,如果您怀疑他的完整性)。如果每个人都使用一个唯一的root密码,并且您在没有事先协调的情况下进行更改,则可能会造成混乱。…