除了创建普通用户的常规设置之外foo
,我还想
d-i preseed/late_command
以该foo
用户的身份运行一些命令。
我最初的想法是简单地用 调用这些命令sudo
,例如:
d-i preseed/late_command in-target echo "<pwd>" | sudo -Si <command>
。
这适用于某些命令。然而问题是,有些命令加载了需要不是使用 sudo 运行。
发出su -c "<command>"
是一种替代方法,但su
不提供从 读取密码的可能性stdin
。
使用用户之间跳转是否安全su
(如果是,我如何提供标准输入?它是否有效或只导致su: must be run from a terminal
)或者这会导致问题?
答案1
也许可以考虑研究一下“expect”命令。
expect - programmed dialogue with interactive programs
它将允许您向 su 发送密码。它应该从 di preseed/late_command 工作。