如何允许用户 www-data 在没有密码的情况下使用 sudo 命令
How to allow user www-data use sudo commands without password
我想允许 运行 通过 PHP exec() 函数在我的网站上指定命令,所以我找到了将 sudoers.d 文件中的 www-data 添加到允许 运行 指定命令而不询问密码。
我尝试了接下来的事情:
- 检查程序目录在哪里
whereis hashcat -> hashcat: /usr/bin/hashcat
- 将新文件添加到
sudo visudo /etc/sudoers.d/www-data
并添加下一行 www-data ALL=(www-data:www-data)NOPASSWD: /user/bin/hashcat
- 尝试通过 www-data 运行 它:
sudo -u www-data sudo hashcat
然后我得到这个:[sudo] password for www-data:
,这意味着它似乎不起作用
我有什么地方做错了,那我该怎么办?我这样做的决定正确吗?有没有更好更安全的解决方案?
通过删除 (www-data:www-data)
解决了这个问题,所以我的“www-data: sudoers.d 中的文件看起来像:www-data ALL=NOPASSWD: /usr/bin/hashcat
感谢大家的回答,并给我一个解决这个问题的提示!特别感谢@cyberbrain 的粗心大意!
我想允许 运行 通过 PHP exec() 函数在我的网站上指定命令,所以我找到了将 sudoers.d 文件中的 www-data 添加到允许 运行 指定命令而不询问密码。
我尝试了接下来的事情:
- 检查程序目录在哪里
whereis hashcat -> hashcat: /usr/bin/hashcat
- 将新文件添加到
sudo visudo /etc/sudoers.d/www-data
并添加下一行www-data ALL=(www-data:www-data)NOPASSWD: /user/bin/hashcat
- 尝试通过 www-data 运行 它:
sudo -u www-data sudo hashcat
然后我得到这个:[sudo] password for www-data:
,这意味着它似乎不起作用
我有什么地方做错了,那我该怎么办?我这样做的决定正确吗?有没有更好更安全的解决方案?
通过删除 (www-data:www-data)
解决了这个问题,所以我的“www-data: sudoers.d 中的文件看起来像:www-data ALL=NOPASSWD: /usr/bin/hashcat
感谢大家的回答,并给我一个解决这个问题的提示!特别感谢@cyberbrain 的粗心大意!