属于sudo 用户组的用户和 root 用户之间的区别

  • Post author:
  • Post category:其他



1.root用户和sudo区别

/etc/sudoers 文件列出了哪些用户可以使用 sudo 命令进行操作

root 用户创建并修改/etc/sudoers 文件。


拥有 sudo 特权的所有用户都属于 sudoers 组,那么这些用户都可以通过sudo su 命令成为 root 用户。


那么谁是真正的 root 用户,他如何控制 sudoers 组中用户的权限?



“ root”(又名“超级用户”)是系统管理员帐户的名称。

这个名字的起源有点古老,但是没关系。

Root 用户具有用户 id 0,并且名义上具有无限的特权。root可以访问任何文件、运行任何程序、执行任何系统调用和修改任何设置。

在“ sudo”命令发明之前,如果您想执行管理任务,您必须以 root 用户身份登录,或者以某种方式获得登录提示,或者使用 su 命令(“ su”是substitute user的缩写)。

这有点麻烦,而且不允许给用户部分管理权限。因此发明了sudo命令(substitute user do)。


只要您的用户 id 在 sudoers 文件中,sudo命令允许您执行具有超级用户权限的命令,从而为您提供必要的授权。

因此,例如,sudo vi/etc/hosts 允许您像以 root 身份运行一样编辑主机文件。您甚至不需要 root 密码,只需要您自己的登录密码。

当然,sudo su 允许您简单地成为 root 用户。结果与以 root 身份登录或执行 su 命令相同,只是不需要知道 root 密码,但需要在 sudoers 文件中。

Sudoers 文件确定谁可以使用 sudo 命令,以及他们可以用它做什么。

Sudoers 文件提供了多个管理员。实际上,您的管理员是 root 用户,外加 sudoers 文件中列出的所有用户。没有 sudoers 文件,唯一的管理员就是 root 用户。

事实上,在其他人为您管理计算机的组织中,通常不知道您自己计算机的root密码ーー只要您在 sudoers 文件中,就没有关系。

一家拥有庞大服务器群的公司,只有极少数人知道 root 用户的密码。取而代之的是一个关于谁被允许在哪些服务器上工作的数据库。自动化进程会将您添加到授权访问的服务器的 sudoers 文件中,并在授权过期时删除您。



2.如何测试用户是否具有sudo权限

有时候直接查看sudoers文件并不能直接看到User,因为有些user属于一些有sudo权限的group,被省略了,sudoers文件中只有group名。

sudo cat /etc/sudoers

方法1: 使用sudo命令查看用户是否是sudoer


sudo

命令本身提供了一个选项来查看用户是否可以使用

sudo

运行命令。实际上,它告诉您某个用户可以使用

sudo

运行哪些命令。

sudo -l -U user_name

如上述输出结果,用户可以通过sudo访问运行所有命令。

方法2: 查看用户是否属于

sudo


另一种确定用户是否具有sudo访问权限的方法是查看该用户是否是

sudo

组的成员。

有几种方法可以查看Linux中用户的组。最简单的方法是这样使用

groups

命令:

groups user_name

方法3:如何在您的系统中查看所有sudo用户

怎么样在Linux系统中列出所有

sudoers

文件?答案很简单,您所需要做的就是列出sudo组的成员。

在Linux中有多种方法可以列出组的成员。

getent group sudo



版权声明:本文为WuJ10n原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。