如何允许用户 www-data 在没有密码的情况下使用 sudo 命令

How to allow user www-data use sudo commands without password

我想允许 运行 通过 PHP exec() 函数在我的网站上指定命令,所以我找到了将 sudoers.d 文件中的 www-data 添加到允许 运行 指定命令而不询问密码。

我尝试了接下来的事情:

  1. 检查程序目录在哪里 whereis hashcat -> hashcat: /usr/bin/hashcat
  2. 将新文件添加到 sudo visudo /etc/sudoers.d/www-data 并添加下一行 www-data ALL=(www-data:www-data)NOPASSWD: /user/bin/hashcat
  3. 尝试通过 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 的粗心大意!