如何为特定的命令集定义Ubuntu sudoer权限

时间:2014-10-14 19:17:34

标签: ruby-on-rails ubuntu foreman sudoers

为了让我的Rails应用程序通过Foreman gem运行upstart命令,我使用了为特定用户提供如下的sudoer定义。是否有sudoers定义的变体,我可以提供无密码sudo授权的linux命令列表?

我目前的sudoer定义是bill ALL=(ALL) NOPASSWD:ALL

这允许用户'在没有任何密码的情况下运行任何特权命令。我怎样才能限制' bill'只通过sudo w / o密码运行以下命令?

sudo service rails_app stop
sudo service rails_app start
sudo service rails_app restart

我尝试了以下定义,但在保存visudo编辑时收到语法错误。

bill localhost=(service rails_app stop, service rails_app start, service rails_app restart) NOPASSWD:ALL

1 个答案:

答案 0 :(得分:0)

最简单的文件是:

bill ALL=(ALL) NOPASSWD:/usr/bin/service rails_app stop
bill ALL=(ALL) NOPASSWD:/usr/bin/service rails_app start
bill ALL=(ALL) NOPASSWD:/usr/bin/service rails_app restart