用户密码禁用在 Ubuntu 12.04 中不起作用,无法启动服务

用户密码禁用在 Ubuntu 12.04 中不起作用,无法启动服务

我需要在系统启动时从 Ubuntu 设置 SSH 隧道。我有在 Debian squeeze 下运行良好的脚本。但在 Ubuntu 下,su 命令需要输入用户密码,这会破坏启动脚本。

详细来说:在守护进程启动脚本中,autossh 以每个隧道的特定用户启动。这些用户之前已创建, adduser ... --disabled-password

启动脚本中有以下行:

su -s /bin/sh $USER -c "$AUTOSSH $TUNNEL"

生成密码提示(在 Ubuntu 下),即使隧道用户的 PW 应该被禁用。这会停止脚本,因此服务不会启动。

我已经尝试删除隧道用户的 PW(以防在创建过程中创建了一些标准 PW),但这并没有改变任何东西。网络搜索没有带来解决方案。如果需要,我可以提供密码作为 su 命令的参数,但找不到这样的选项。

有什么办法可以解决这个问题吗?谢谢!

答案1

解决这个问题的最佳方法是为另一个用户编写脚本时使用 sudo。这将允许您专门指定不使用密码并允许转换到密码锁定的用户。

相关内容