文章目录
{ .ImgAlt }}

sudo是一个命令行工具,它被设计为允许用户以其他用户(默认是 root 用户)身份去运行命令。

你有两个选项可以赋予一个用户 sudo 权限。第一个就是将用户添加到 sudoers 文件。这个文件包含了一些信息,这些信息定义了哪个用户和哪个用户组被授予了 sudo 权限,以及权限的级别。

第二个选项就是将用户添加到 sudo 用户组(定义在sudoers文件中)。默认情况下,在基于 RedHat 的发行版中,例如 CentOS 和 Fedora 中,wheel用户组成员被授予 sudo 权限。

一、将用户添加到 wheel 用户组

在 CentOS 系统上授予一个用户 sudo 权限的最容易的方式就是,将该用户添加到wheel用户组。所有这个用户组的成员,都能够通过sudo命令,输入自己的用户密码后,运行所有的命令。

我们假定用户已经存在。如果你想创建一个新用户,你可以参考这个指南:https://linuxize.com/post/how-to-add-and-delete-users-on-centos-7/

想要将用户添加到用户组,以 root 或者其他 sudo 用户身份运行下面的命令。修改用户名username为你想要授权的用户的用户名。

usermod -aG wheel username

通过这种方式提升 sudo 权限,适合大部分用户场景。

想要测试 sudo 访问,运行whoami命令:

sudo whoami

你将会被提示输入密码。如果这个用户有 sudo 访问权限,命令将会打印root

root

如果你看到任何错误提示“user is not in the sudoers file”,它意味着这个用户没有 sudo 权限。

二、将用户添加到 sudoers 文件

拥有 sudo 权限的用户和用户组在/etc/sudoers中被配置。添加用户到这个文件,可以允许你授权用户自定义访问命令并且配置某些安全策略。

你可以通过直接修改 sudoers 文件或者在/etc/sudoers.d目录下创建新的配置文件来配置用户的 sudo 权限。该目录下的文件都会被包含在 sudoers 文件。

想要编辑/etc/sudoers文件,使用visudo命令。这个命令在保存文件时,会检查文件是否有语法错误。如果有任何错误,这个文件不会被保存。如果你使用一个文本编辑器打开这个文件,一个语法错误,可能导致用户无法使用 sudo。

通常的,visudo 使用 vim 去打开/etc/sudoers。如果你不想使用 Vim 并且你想使用 nano 编辑这个文件,输入:

Vultr: 免费赠送50美元
EDITOR=nano visudo

如果你想允许用户在运行 sudo 命令的时候,不被提示输入密码。打开/etc/sudoers文件:

visudo

滚动到文件最后面,添加下面的行:

username  ALL=(ALL) NOPASSWD:ALL

保存文件并且推出编辑器。不要忘记将username修改为你想要授权的用户名。

另外一个常用的例子,是允许用户仅仅能运行指定命令。例如,仅仅允许用户使用duping命令,你可以这样用: /etc/sudoers

username ALL=(ALL) NOPASSWD:/usr/bin/du,/usr/bin/ping

你可以不编辑 sudoer 文件,而在/etc/sudoers.d文件夹下创建新文件来做同样的事情。运行下面的命令:

echo "username  ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/username

这种方式使得 sudo 权限的管理更好维护。文件的名称并不重要。通常的做法是,将文件名称命名为用户的名称。

三、总结

授予一个用户 sudo 权限很简单,你只需要将用户添加到wheel用户组。




如果你有任何疑问,请通过以下方式联系我们:

微信:

微信群: 加上面的微信,备注微信群

QQ: 3217680847

QQ 群: 82695646 雪梦科技交流群

原文 :https://linuxize.com/post/how-to-add-user-to-sudoers-in-centos/

    版权声明:本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。知识共享许可协议
Vultr: 免费赠送50美元

相关推荐