使用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
更多的[ubuntu.se]或[sf]問題,而不是編程問題 - 投票動議。 – Filburt
你有沒有嘗試setuid到根? –
客人如何運行此腳本? –