Сценарий, как у меня есть список корневых паролей. Но я не хочу продолжать пытаться вручную. Итак, я написал сценарий оболочки:

для меня в {1..26}

делать

су - >> результат

сделанный

и все мои пароли находятся в файле "try.txt".

Теперь в командной строке введите команду:

bash p2.sh <try.txt

Но он показывает ошибки: « Стандарт в должен быть tty»

Так есть ли способ, которым я могу ввести эти пароли с помощью некоторых кодов или команд, не вводя вручную каждый из них? Расскажите, пожалуйста, о подходе командной строки вместо какого-либо продвинутого программного обеспечения Я в этом для обучения. Спасибо :)

1 ответ1

1

Правильный синтаксис такой:

 while read my_pass
 do 
        echo $my_pass | sudo -S command
 done < file_name

Три комментария: вы не можете использовать su внутри файла скрипта, вам нужно будет использовать sudo с опцией -S, которая, по словам человека,

Опция -S (stdin) заставляет sudo читать пароль со стандартного ввода вместо оконечного устройства.

Во-вторых, если вам не нравится записывать имя_файла внутри скрипта, используйте один из аргументов $ n, например, $ 1, если это единственный передаваемый параметр.

В-третьих, вы уверены, что собирать все свои пароли в один незашифрованный файл - это хорошая идея?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .