是否可以仅授予 sudo 访问特定命令的权限?

是否可以仅授予 sudo 访问特定命令的权限?

背景: 我有一台安装了 LAMP 的开发机器。一些开发人员会不时访问这台机器。每次他们在配置文件中进行一些更改时,他们都需要使用sudo service apache restart或重新启动 Apache 服务器sudo /etc/init.d/apache2 restart

问题:

我现在想要的是,每个访问该机器的开发人员都没有 sudo 访问权限。相反,他/她应该只能service使用 sudo 运行命令,而不能使用其他任何命令。可以这样做吗?

答案1

是的。

创建一个新群组,web(随便你怎么叫)

sudo addgroup web

将您的开发人员添加到 Web 组(使用他们的登录名)。

sudo adduser your_developer_user web

然后运行sudo visudo -f /etc/sudoers.d/somefile(使用有意义的名称代替somefile)。

添加一行(使用命令的完整路径):

%web ALL=(ALL) /usr/bin/service apache2 *

然后开发人员可以运行

sudo service apache

使用他们的登录密码。

请勿将您的管理员用户添加到 Web 组。

人 sudoers了解更多信息

相关内容