简言之,root 用户承担的是一个超级管理员的角色,在 Linux 中无所不能,不仅可以执行所有能执行的命令,而且可以管理系统上的用户及用户的组,但普通的用户并没有 root 用户的能力。
那么
sudo
命令存在的意义,就是为了(对在 sudoer 文件内的用户
[1]
)暂时获得 root 用户的能力,执行自己无法执行但 root 可以执行的命令。
相比直接使用 root 用户,这样设计的好处就是不用 root 身份登录以执行命令,能够一定程度上杜绝滥用 root 权限的可能。
其实
sudo
最能起到提升操作门槛的作用的,有如下两种情况:
①在供多人使用的电脑中,只有唯一的计算机管理员能够控制电脑的全部;
②在大型有组织的生产环境中,对于不同的用户分入不同的组中(特别是是否将普通用户写入 sudoer 文件)。
个人的桌面环境里,因为 root 密码是从系统安装起手动设定好的,
sudo
的威慑力反而没有那么强,甚至有的时候和直接用 root 用户来操作是一样的。其实,不管用不用 root 用户,都
参考
- ^ 并不是所有的 Linux 发行版本都需要考虑这个机制,有的则不需要,但务必慎重。