its*_*dok 41 ubuntu permissions apache-2.2
我有一个在非 root 用户下运行的脚本,在某些情况下,它应该重新启动 apache httpd。
对我来说,允许用户这样做的最简单方法是什么?
我使用的是 Ubuntu Server 8.04 LTS。
epi*_*c9x 92
简短的回答:
使用visudo
,将以下内容添加到您的 sudoers 文件中,用正确的用户名替换用户名:
username ALL = /etc/init.d/apache2
Run Code Online (Sandbox Code Playgroud)
如果您不想在执行此操作之前输入密码,请使用以下命令:
username ALL = NOPASSWD: /etc/init.d/apache2
Run Code Online (Sandbox Code Playgroud)
在此之后,'username' 用户可以执行sudo /etc/init.d/apache2 start
(或停止、重新启动等)
长答案:如果您还没有,您可能希望为此设置一个单独的用户,然后配置 /etc/sudoers 文件以允许用户或组执行您想要的命令。
例如,要允许用户“ben”以 root 用户身份执行所有命令并提示输入密码,您可以执行以下操作:
ben ALL= ALL
Run Code Online (Sandbox Code Playgroud)
要允许 'ben' 仅执行一个命令(例如,rm
),您可以执行以下操作:
ben ALL= /bin/rm
Run Code Online (Sandbox Code Playgroud)
如果您以用户身份运行脚本并且不想提示输入密码,您将需要使用“NOPASSWD”选项,如下所示:
ben ALL=NOPASSWD: /bin/commandname options
Run Code Online (Sandbox Code Playgroud)
您可以通过在组名前加上百分号来对组执行相同的操作,如下所示:
%supportstaff ALL= NOPASSWD: /bin/commandname
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
91092 次 |
最近记录: |