Yar*_*lyk 7 linux sudo gnu permissions sudoers
操作系统: Arch Linux
Linux版本: 4.16.11
须藤版本: 1.8.23
我需要什么:
any executable
与sudo
使用密码提示/home/username/script.sh
没有密码提示的情况下执行一个可执行文件。当我这样配置时
username ALL=(ALL) NOPASSWD: /home/username/script.sh
Run Code Online (Sandbox Code Playgroud)
我对 有想要的效果script.sh
,但我不能executable
用sudo
.
例子
$ sudo ./script.sh # runs fine!
Run Code Online (Sandbox Code Playgroud)
尝试别的
$ sudo nano /etc/sudoers
[sudo] password for username:
Sorry, user username is not allowed to execute '/usr/bin/nano
/etc/sudoers' as root on hostname.
Run Code Online (Sandbox Code Playgroud)
看来这是替换的结果ALL
有NOPASSWD
,看来我需要两者。如果sudoers
文件已ALL
供用户使用,我可以使用密码提示执行任何我想要的操作
username ALL=(ALL) ALL
Run Code Online (Sandbox Code Playgroud)
我试图结合 ALL 和 NOPASSWD 但没有结果
username ALL=(ALL) ALL, NOPASSWD: /home/username/script.sh
Run Code Online (Sandbox Code Playgroud)
像这样它要求输入密码script.sh
。
我可以两者兼得吗?
Kam*_*ski 18
man 5 sudoers
说(“Sudoers 文件格式”部分):
当多个条目与用户匹配时,它们将按顺序应用。如果有多个匹配项,则使用最后一个匹配项(不一定是最具体的匹配项)。
因此,您应该完全按照以下顺序排列这些行:
username ALL=(ALL) ALL
username ALL=(ALL) NOPASSWD: /home/username/script.sh
Run Code Online (Sandbox Code Playgroud)
并且任何也匹配的行(如 eg %sudo ALL=(ALL:ALL) ALL
)应该在该NOPASSWD
行之前。
一般注意事项:#include
并#includedir
允许sudoers
包含其他文件。不要让#
你蒙骗了,这些不是评论。在搜索可能会干扰的条目时,您不应该忽略 what#include
和#includedir
指向。有用的选项:sudo -l
。
归档时间: |
|
查看次数: |
7990 次 |
最近记录: |