sudo命令是Linux上最流行的命令之一。
它允许用户以其他用户的身份执行命令,该用户默认情况下配置为以root用户身份运行。
在CentOS 8中,有两种将用户添加到sudoers的方法:您可以将其添加到wheel组(类似于基于Debian发行版的sudo组),也可以将用户添加到sudoers文件。
以下是所使用的两种方法的详细信息。
先决条件
为了向现有用户授予sudo权限,您将需要在CentOS 8主机上使用sudo命令。
首先,请确保主机上的软件包是最新的,然后安装sudo命令。
$ su -
$ yum update
$ yum install sudo
要验证是否正确安装了sudo命令,可以运行以下命令
$ sudo -l
将现有用户添加到wheel组
将用户添加到sudoers的第一种方法是将其添加到wheel组。
为了将您的用户添加到该组,可以使用usermod或gpasswd命令。
$ sudo usermod -aG wheel <user>
另外,这是使用gpasswd命令的语法。
使用groups命令确保用户属于wheel组。
$ su - <user>
(输入用户密码)
$ groups
user wheel
如下图:
或者,您可以在授予管理权限的用户上运行sudo命令。
恭喜你!
您已在CentOS 8上将用户添加到sudoers中。
在CentOS 8安装过程中,如果您选择不设置root密码,则默认情况下您的root帐户可能已被锁定。 因此,如果需要解锁密码,则需要为root用户帐户设置密码。
将现有用户添加到sudoers文件
授予管理权限的另一种方法是将用户添加到sudoers文件中。
默认情况下,sudoers文件默认位于/etc/sudoers。
该文件包含一组规则,这些规则适用于确定谁对系统具有管理权限,可以使用sudo特权执行哪些命令以及是否应提示输入密码。
但是,您不应该自己修改sudoers文件,因为如果在此过程中犯任何错误,您可能会永远被锁定在主机之外。
不用自己修改sudoers文件,而是要使用visudo。
Visudo是一种工具,可以在保存sudoers文件之前检查输入的命令的完整性和正确性。
要执行visudo,请键入以下命令
$ sudo visudo
您现在应该看到以下截图:
在文件末尾,添加以下行。
$ <user> ALL=(ALL:ALL) ALL
以下是有关sudoers文件的语法的一些详细信息。
默认情况下,将每五分钟询问一次帐户密码以执行sudo操作。
但是,如果您想要删除这个密码验证,您可以设置NOPASSWD选项。
$ <user> ALL=(ALL:ALL) NOPASSWD:ALL
如果要增加密码验证时间,则可以修改timestamp_timeout(以分钟为单位)。
在下面显示的示例中,系统将要求您每三十分钟提供一次用户密码。
# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
Defaults timestamp_timeout=30
将组添加到sudoers文件
在sudoers文件中,您可以添加用户,但也可以添加整个组,如果要为不同的组设置特定的规则,这将非常方便。
要将组添加到sudoers文件,只需在行的开头添加一个百分比符号。
$ %sysadmins ALL=(ALL:ALL) NOPASSWD:ALL
使用groups命令确保您的用户属于designed组。
$ su - user
$ groups
user sysadmins
同样,您可以通过更改密码来测试更改是否已应用
$ sudo passwd
总结
在本教程中,您学习了如何通过使用usermod命令或更改sudoers文件将用户添加到CentOS 8上的sudoers中。