Red Hat Training
A Red Hat training course is available for RHEL 8
23.3. 使非特权用户运行某些命令
作为管理员,您可以通过在 /etc/sudoers.d/
目录中配置策略来允许非特权用户在特定工作站上输入某些命令。
例如,您可以使用 dnf
命令以及 sudo
特权来允许用户在 <example.user> host.example.com
工作站上安装程序。
先决条件
-
您必须有系统的
root
访问权限。
流程
以
root
用户身份,在/etc/
下创建一个新的sudoers.d
目录:# mkdir -p /etc/sudoers.d/
在
/etc/sudoers.d
目录中创建一个新文件:# visudo -f /etc/sudoers.d/<example.user>
文件会自动打开。
在
/etc/sudoers.d/<example.user>
文件中添加以下行:<example.user> <host.example.com> = /usr/bin/dnf
要在一行中在同一主机上允许两个或多个命令,您可以用逗号分隔来列出这些命令
,
后跟一个空格。可选: 要在用户每次 <example.user> 尝试使用
sudo
权限时收到电子邮件通知,请在文件中添加以下行:Defaults mail_always Defaults mailto="<email@example.com>"
- 保存更改,再退出编辑器。
验证
要验证用户是否 <example.user> 可以使用
sudo
权限运行dnf
命令,请切换帐户:# su <example.user> -
输入
sudo dnf
命令:$ sudo dnf [sudo] password for <example.user>:
输入用户 <example.user> 的
sudo
密码。系统显示
dnf
命令和选项列表:... usage: dnf [options] COMMAND ...
如果系统返回
<example.user> 不在 sudoers 文件中。将报告此事件
错误信息,您没有 <example.user> 在/etc/sudoers.d/
中创建文件。如果您收到,
<example.user> 不允许在 < host.example.com>
错误消息上运行 sudo,则您尚未正确完成配置。确保您已以root
身份登录,并且您遵循了这些步骤。
其他资源
-
sudo (
8)、visudo (8)
和sudoers (5)
手册页