我已添加了一个用户,方法如下:
当我尝试运行以下内容的bash脚本时:
但是当我运行这个脚本时,日志中出现了错误:
编辑:
$ 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
运行命令,这是你想要的吗?假设这就是你想要允许的。 - Etan Reisnersudo
命令吗?具体运行或尝试了什么?原始脚本是由哪个用户运行的? - Etan Reisner