回答这个问题最快速的回答就是,它取决于管理它的人。大多数 Linux 的默认设置都非常简单。如果一个用户被安排到了一个特别的组中,例如 wheel 或者 admin 组,那这个用户无需知道 root 的密码就可以拥有运行任何命令的能力。这就是大多数 Linux 系统中的默认设置。一旦在 /etc/group 中添加了一个用户到了特权组中,这个用户就可以以 root 的权力运行任何命令。另一方面,可以配置 sudo,以便一些用户只能够以 root 身份运行单一指令或者一组命令中的任何一个。
如果把像下面展示的这些行添加到了 /etc/sudoers 文件中,例如 “nemo” 这个用户可以以 root 身份运行 whoami 命令。在现实中,这可能不会造成任何影响,它非常适合作为一个例子。
# User alias specification nemo ALL=(root) NOPASSWD: WHOAMI -
# Cmnd alias specification Cmnd_Alias WHOAMI = /usr/bin/whoami
注意,我们添加了一个命令别名(Cmnd_Alias ),它指定了一个可以运行的命令的全路径,以及一个用户别名,允许这个用户无需密码就可以使用 sudo 执行的单个命令。
当 nemo 运行 sudo whoami 命令的时候,他将会看到这个:
$ sudo whoami root
注意这个,因为 nemo 使用 sudo 执行了这条命令,whoami 会显示该命令运行时的用户是 root 。
至于其他的命令,nemo 将会看到像这样的一些内容:
$ sudo date [sudo] password for nemo: Sorry, user nemo is not allowed to execute '/bin/date' as root on butterfly.
sudo 的默认设置
在默认路径中,我们会利用像下面展示的 /etc/sudoers 文件中的几行:
$ sudo egrep "admin|sudo" /etc/sudoers # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL <===== # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL <=====
在这几行中,%admin 和 %sudo 都说明了任何添加到这些组中的人都可以使用 sudo 命令以 root 的身份运行任何命令。
下面列出的是 /etc/group 中的一行,它意味着每一个在该组中列出的成员,都拥有了 sudo 特权,,而无需在 /etc/sudoers 中进行任何修改。
sudo:x:27:shs,nemo
总结
sudo 命令意味着你可以根据需要轻松地部署超级用户的访问权限,而且只有在需要的时候才能赋予用户非常有限的特权访问权限。你可能会遇到一些与简单的 sudo command 不同的问题,不过在 sudo 的回应中应该会显示你遇到了什么问题。
【编辑推荐】
- 如何在Linux上对驱动器进行分区和格式化
- 如何在SUSE 12 Linux中进入单用户模式?
- 提高Linux的网络浏览器安全性的5个建议
- 如何在Linux中为每个屏幕设置不同的壁纸
- 2019 年的 Linux 会如何?
【责任编辑:庞桂玉 TEL:(010)68476606】
点赞 0
(编辑:ASP站长网)
|