使用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到根? –
客人如何运行此脚本? –