sudoers NOPASSWD:sudo:没有tty存在且没有指定askpass程序

Tim*_*tin 9 linux bash sudo tty

我添加了这样的用户:

$ adduser --system --home /no/home --no-create-home --group --disabled-password --disabled-login testuser
Run Code Online (Sandbox Code Playgroud)

将用户添加到组:

$ adduser testuser testgroup
Run Code Online (Sandbox Code Playgroud)

为sudoers添加了行(visudo):

testuser    ALL=(ALL) NOPASSWD: ALL
%testgroup         ALL=(ALL:ALL) NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)

当我尝试使用以下内容运行bash脚本时:

#!/bin/sh
sudo -u testuser /usr/bin/php /usr/local/bin/script.php
Run Code Online (Sandbox Code Playgroud)

但是当我运行这个脚本时,我在日志中收到错误:

sudo: no tty present and no askpass program specified
Run Code Online (Sandbox Code Playgroud)

编辑:requiretty不在sudoers文件中.

Eta*_*ner 8

sudo权限是对你在修改用户/组不是你正在改变用户.

那些权限行也是让testuser用户和testgroup组在没有密码的情况下运行任何命令(如同任何人).

你需要给权限运行该脚本运行命令的用户作为testuser用户你想要的东西.

假设这是你允许的意思.