我添加了这样的用户:
$adduser --system --home /no/home --no-create-home --group --disabled-password --disabled-login testuser
将用户添加到组:
$adduser testuser testgroup
为sudoers添加了行(visudo):
testuser ALL=(ALL) NOPASSWD: ALL %testgroup ALL=(ALL:ALL) NOPASSWD: ALL
当我尝试使用以下内容运行bash脚本时:
#!/bin/sh sudo -u testuser /usr/bin/php /usr/local/bin/script.php
但是当我运行这个脚本时,我在日志中收到错误:
sudo: no tty present and no askpass program specified
编辑:requiretty不在sudoers文件中.
解决方法
sudo权限是关于您要更改的用户/组,而不是您要更改的用户.
那些权限行也允许testuser用户和testgroup组在没有密码的情况下运行任何命令(如同任何人).
您需要授予运行脚本的用户权限,以便以testuser用户身份运行命令.
假设你的意思就是这样.