скрипт к су с паролем в скрипте без рута

8

Я написал сценарий процесса, который включает обновление символических ссылок на файлы, расположенные на 3 разных компьютерах. На этих машинах существует 4 пользователя, каждый из которых должен обновить эти ссылки.

Используя su, есть ли способ передать аргумент пароля команде в одной строке, не вызывая sudo, так как у пользователей не будет прав администратора?

Мое единственное альтернативное решение на данный момент - использовать ssh, но я бы хотел сделать это без жесткого кодирования в куче хостов / ips.

Triplell89
источник

Ответы:

3

Вы можете передать пароль su следующим образом:

echo pa$$w0rd | su -c whoami user_1
gogators
источник
1
Получение «Standard in должно быть tty» ошибка
Triplell89
Вы используете SSH? Попробуйте опцию -t для ssh.
гогаторы
@KevinVW, я не вижу опции -t в su.
Маэстромани
-T для ssh, а не su. Если форсирует псевдо-tty, то su может прочитать пароль из stdin.
гогаторы