【发布时间】:2014-03-03 15:59:43
【问题描述】:
我有这个:
su $username -c ./script.sh
问题是在脚本中我有“sudo”命令,他们说我
sudo: no tty present and no askpass program specified
如何正确地做到这一点?
UPD:我需要 sudo 和 su。我需要做的是以 USER $username 身份运行脚本并能够以 root 身份运行脚本中的某些命令(例如 pacman -S)
解决方案:我在运行脚本之前将 NOPASSWD 选项添加到 /etc/sudoers,并在脚本完成后使用 sed 删除此条目。
【问题讨论】:
-
修复脚本或删除 su。
-
这些用户是否在 sudoers 文件中?
-
配置您的 sudoers 文件以将相关命令列入白名单,而无需输入密码。 (TTY 是安全提示输入密码所必需的,但如果您不提示输入密码...)