我可以授予单个非 sudo 用户访问权限以在不使用 sudo 的情况下运行单个命令吗?

我可以授予单个非 sudo 用户访问权限以在不使用 sudo 的情况下运行单个命令吗?

是否可以为没有 sudo 访问权限的单个用户提供运行 sudo 受保护命令(如 )的能力chmod

答案1

须藤配置文件存储在/etc/sudoers文件和/etc/sudoers.d目录中。最好添加一个文件,与用户同名您想要将 sudo 设置为,尽管/etc/sudoers.d您也可以编辑/etc/sudoers.

基本语法是谁在哪里 = (as_whom) 什么

例如:

root ALL = (ALL:ALL) ALL

menas 允许用户root在任何主机 (ALL = ) 上以任何用户:组 (ALL:ALL) 任何命令 (ALL) 的身份运行

对于您的情况,您需要执行以下操作:

echo "ltd_user ALL=NOPASSWD:/bin/cat, PASSWD:/bin/chmod" > /etc/sudoers.d/ltd_user

这赋予用户在任何主机上以任何用户身份ltd_user运行cat而无需输入密码以及输入密码后的权限chmod

创建文件后,/etc/sudoers.d您应该将权限设置为 440

chmod 440 /etc/sudoers.d/ltd_user

另请注意,我给出了一个非常基本的示例(因此使用了 echo 和重定向),但使用visudo命令编辑 sudo 配置文件是一种很好的做法,这可以确保一次只有一个人正在编辑该文件,并具有适当的权限,如果所做的更改存在语法错误,则拒绝写出文件并退出。

visudo -f /etc/sudoers.d/ltd_user

请参阅man sudoers获取更多详细信息和高级示例

相关内容