Запускать команды preseed от имени конкретного пользователя / переключения пользователей
Рядом с обычной настройкой, где я создаю обычного пользователя 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 - programmed dialogue with interactive programs
Это позволит вам отправить пароль su. Это должно работать из di preseed/late_command.