2017-01-24 43 views
1

使用Ubuntu 16.04LTS允许guest用户运行一个脚本使用提升的权限

我试图让谁没有须藤权力时,他们需要重新加载nginx的访客用户通过执行一个简单的脚本:

#!/bin/sh 
nginx -s reload 

其中有权限-r-xr-xr-x

,并允许他们这样做与在sudoers文件中加入一行:

root ALL=(ALL:ALL) ALL 
guest ALL=NOPASSWD: /path/to/script.sh 

这仍然给权限拒绝错误。

nginx: [alert] could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (13: Permission denied) 

我不想让我的客人用户须藤权限,但为了重新加载nginx的,我通常需要使用sudo nginx -s reload

编辑:解决了我的问题 - 我被试图将得太多问题通过脚本运行我的访客用户需要的命令。还没有真正得到/ etc/sudo的工作方式。这部影片帮助了很多:https://www.youtube.com/watch?v=YSSIm0g00m4

以根用户身份我做了一个sudoers.d文件,visudo -f /etc/sudoers.d/guests,正确地给我了nginx的和单独nginx的客人sudo的权力:

Cmnd_Alias NGINX = /usr/local/nginx/sbin/nginx 
Cmnd_Alias GUESTS_CMND = NGINX 
%guests ALL=GUESTS_CMND 
+0

更多的[ubuntu.se]或[sf]问题,而不是编程问题 - 投票动议。 – Filburt

+0

你有没有尝试setuid到根? –

+0

客人如何运行此脚本? –

回答

0

正如我在编辑 - 我是试图通过脚本运行我的访客用户需要的命令来解决问题。还没有真正得到/ etc/sudo的工作方式。这部影片帮助了很多:https://www.youtube.com/watch?v=YSSIm0g00m4

以根用户身份我做了一个sudoers.d文件,visudo -f /etc/sudoers.d/guests,正确地给我了nginx的和单独nginx的客人sudo的权力:

Cmnd_Alias NGINX = /usr/local/nginx/sbin/nginx 
Cmnd_Alias GUESTS_CMND = NGINX 
%guests ALL=GUESTS_CMND 
相关问题