Помимо обычной настройки, в которой я создаю обычного пользователя 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
) или это вызовет проблемы?
Может быть, подумайте о том, чтобы изучить команду "ожидать".
expect - programmed dialogue with interactive programs
Это позволит вам отправить пароль su. Он должен работать из d-i preseed / late_command.