sudo:无法执行...错误地址 - 它是什么以及如何修复它?

sudo:无法执行...错误地址 - 它是什么以及如何修复它?

我有一组脚本,可以在执行相当通用的 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迄今为止的工作。

干杯!

相关内容