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

我需要在系统启动时从Ubuntu设置SSH隧道。 我有脚本在Debian挤压下运行良好。 在Ubuntu下,su命令需要input一个破坏启动脚本的用户密码。

详细信息:在守护进程启动脚本中,autossh以每个通道的特定用户身份启动。 这些用户之前用adduser ... --disabled-password创buildadduser ... --disabled-password

启动脚本中的以下行:

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

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

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

任何想法如何解决这个问题? 谢谢!

解决这个问题的最好方法是在为其他用户编写脚本时使用sudo 。 这将允许您专门指定不使用密码,并允许转换为密码locking的用户。