我有一组脚本,可以在执行相当通用的 NetRestore 映像后完成客户端机器部署。
主脚本在 root 权限下运行,然后使用以下命令调用另一个“用户”脚本sudo -iu $PROPER_USER ...
问题是,sudo 在此步骤失败,并且实际上没有执行脚本。我收到此错误:
sudo: unable to execute /bin/bash: Bad address
这是什么意思?我该如何解决这个问题?我想到的一件事是,我在脚本中早些时候更改了主机名,使用networksetup -setcomputername ...
答案1
别在意网络了。网络根本不好用。
该Bad address
消息来自内核,表明该进程试图打开不存在的终端(pty/tty)。
我不确定为什么添加sleep
可以修复该问题(不可靠),但回到我的脚本的无睡眠版本并添加:
Defaults !requiretty
/etc/sudoers
迄今为止的工作。
干杯!