除了通常的设置,我创build一个普通的用户foo ,我想运行几个
di preseed/late_command命令作为那个foo用户。
我最初的想法是用sudo简单地调用这些命令,例如:
di preseed/late_command in-target echo "<pwd>" | sudo -Si <command> di preseed/late_command in-target echo "<pwd>" | sudo -Si <command> 。
这适用于某种types的命令。 但问题是,一些命令加载了shell脚本,这些脚本不需要使用sudo运行。
发出一个su -c "<command>"将是另一种select,但是su不提供从stdin读取密码的可能性。
使用su的用户之间跳转是否安全(如果是的话,我如何提供stdin?并且它是否工作或者只是导致su: must be run from a terminal )还是会导致问题?
也许考虑看看“期望”命令。
expect - programmed dialogue with interactive programs
它会允许你发送密码给su。 它应该从di preseed / late_command开始工作。