2017-01-24 88 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 
相關問題