2

如何在CentOS添加用户到sudoers

 1 year ago
source link: https://www.myfreax.com/how-to-add-user-to-sudoers-in-centos/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

如何在CentOS添加用户到sudoers

/etc/sudoers文件中定义用户和组的sudo权限的策略

Updated At 27 Oct 2022 4 min read
By myfreax
如何在CentOS添加用户到sudoers

如何在CentOS添加用户到sudoers

sudo命令旨在允许用户以其它用户身份运行命令,默认是root用户。

使用sudo而不是直接以root用户运行命令会更安全,因为您可为单个用户授予有限的管理权限,而无需让他们知道root用户密码。

在本教程展示两种向用户授予sudo权限的方法。一种是添加用户到添加用户到sudo组。另一种是使用visudo添加用户到/etc/sudoers文件。

在开始本教程之前,你当前登录到系统的用户必须具有sudo权限或者以root登录。否则你遇到权限拒绝的错误。

将提示你用户在sudoers文件中myfreax is not in the sudoers file.  This incident will be reported。

如果你忘记root密码可以进入单用户模式进行重置密码。你可在Grub启动的选项选择Advanced Options > Recovery进入单用户模式。

添加用户到wheel组

在CentOS发行版wheel组的成员被授予sudo访问权限。也就是说你可以将用户添加wheel组,就可以使用户具有sudo访问权限。

修改用户所属组的命令是usermod命令,我们不建议直接修改用户主要组。这可能导致某些权限问题。最好的方式将用户追加到wheel组。

因此你将使用usermod命令的-aG选项,添加用户到wheel组中,-a表示追加用户到指定组,-G选项表示不要将用户从其它组中移除。

至此。您已在CentOS成功创建sudo用户。您现在可以使用此用户在服务器上执行管理任务。

usermod -aG wheel username

要验证新用户是否具有sudo权限,只需要运行命令sudo whoami即可。如果用户具有sudo访问权限,命令将会打印root。

首次在使用sudo时,系统会提示您输入用户密码,注意这是是你当前用户的密码,不是root密码。

sudo whoami
root

添加用户到/etc/sudoers

/etc/sudoers文件中定义了用户和组的sudo权限的策略。此文件使您可以授予命令的自定义访问权限并设置自定义安全策略。

你应始终使用visudo命令来编辑/etc/sudoers文件。在保存文件时,此命令检查文件是否存在语法错误。

如果有任何错误,则不会保存文件。如果使用常规文本编辑器编辑文件,则语法错误可能会导致你失去sudo的访问权限。

visudo可以使用EDITOR环境变量指定的编辑器,默认情况下visudo使用vim编辑器

如果要使用nano编辑文件,请运行命令EDITOR=nano sudo visudo这将会更改编辑/etc/sudoers文件的编辑器。

EDITOR=nano sudo visudo

无密码运行sudo

假设您要允许用户不输入密码运行sudo命令。运行命令sudo visudo打开文件/etc/sudoers

myfreax  ALL=(ALL) NOPASSWD:ALL规则它将允许用户在运行sudo命令时,不需要输入密码即可运行。

这在编写脚本时特别有用。如你需要,可以追加此规则到/etc/sudoers文件的末尾。保存文件,然后退出编辑器。不要忘记用将myfreax改为你使用的用户名。

sudo visudo
myfreax  ALL=(ALL) NOPASSWD:ALL
/etc/sudoers

仅允许运行指定的命令

另一个典型示例是仅允许用户使用sudo运行指定的命令。例如,要仅允许用户使用sudo运行mkdir命令创建目录rmdir命令删除目录

myfreax ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/rmdir规则将允许用户在不输入密码,仅运行指定rmdir和mkdir命令。

sudo visudo
myfreax ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/rmdir
/etc/sudoers

/etc/sudoers.d

除了编辑sudoers文件外,还可以在/etc/sudoers.d目录创建文件并添加授权规则来实现相同目的。

如果在/etc/sudoers.d目录中创建新的配置文件,必须在/etc/sudoers文件使用includedir /etc/sudoers.d指令包含/etc/sudoers.d目录文件。

includedir指令默认是没有启用的,如需要启用,去掉注释即可。

这种方法使得对sudo权限管理更加可维护。文件名并不重要,但通常的做法是根据用户名命名文件。

要向CentOS中的用户授予sudo访问权限,只需将该用户添加到sudo组即可。如果您有任何疑问,请随时发表评论。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK