Linux PuTTY - автоматизировать su для решения проблемы, связанной с паролем

3982
3498DB

Я подключаюсь к серверу через PuTTY следующим образом:

putty.exe -ssh user@host -pw password -noagent -m commands.txt 

После этого я должен использовать:

su someUser 

Будет запрошен пароль - я поместил его в command.txt, но он не работает.

Как я могу автоматизировать команду su (включая пароль) в одной строке, которую я могу поместить в command.txt? Или, может быть, есть другой подход?

Я не хочу использовать sudo или execute и все. Я пробовал с:

echo password | su someUser 

Однако трубопроводы таким способом не работали.

0
Почему бы вам не войти в систему как «someuser» в первую очередь? Flimzy 12 лет назад 0

3 ответа на вопрос

2
Friek

Вы можете отключить вопросы о пароле, добавив строку, специфичную для скрипта / программы, в файле / etc / sudoers: yourusername ALL = (ALL) NOPASSWD: / usr / local / bin / what

По необъяснимым причинам ОП не будет использовать sudo. Ваш ответ правильный, но он не заинтересован. CarlF 12 лет назад 0
0
Ярослав Рахматуллин

Для вас жизненно важно использовать su и сохранить пароль в файл? Если не использовать другой подход, потому что:

$ su << LOL > secretpassword > LOL su: must be run from a terminal  $ echo secretpassword|su -  su: must be run from a terminal 

Вы бы лучше с ssh keys: Quck введение ssh-keys

0
viraptor

Почему ты не хочешь использовать sudo? su всегда запрашивает пароль, используя возможности терминала, поэтому вам нужно создать псевдотерминал для связи с ним. expectмогу сделать это для вас.

Тем не менее, я думаю, что «правильный» способ решить эту проблему - использовать исполняемый файл suid, принадлежащий конкретному пользователю, или, что еще лучше, использовать правильно настроенный sudo.

suid - это редко, если вообще хорошая идея. new123456 12 лет назад 0
@ new123456 sudo с NOPASSWD, доступным для всех, в значительной степени эквивалентно suid. Все еще лучше, чем ожидалось + су. Конечно, правильно настроенный sudo - лучший выбор здесь. viraptor 12 лет назад 0

Похожие вопросы