Ввод пароля в сквозном цикле

1270
Dhruv Chandhok

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

для меня в

делать

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

сделанный

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

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

bash p2.sh <try.txt

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

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

0

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

1
MariusMatutiae

The correct syntax is this:

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

Three comments: you cannot use su inside a script file, you will need to use sudo with the -S option which, according to the man,

The -S (stdin) option causes sudo to read the password from the standard input instead of the terminal device.

Second, if you do not like to write the file_name inside the script, use one of the $n arguments, like $1 if it is the only parameter passed.

Third, are you sure collecting all of your passwords in a single, unencrypted file is such a good idea?

Нет, безусловно, это не очень хорошая идея. Но в моей лаборатории Campus Lab есть компьютеры с разными паролями, и нам сказали, чтобы они не менялись. Ну, поскольку есть 12-14 различных паролей, я не хочу пробовать вручную один за другим. Поэтому я хочу, чтобы я мог проверить работающий с помощью скрипта. В идеале они не должны хранить пароль или просто дать нам список компьютеров нет. и его соответствующий пароль, но они этого не делают. Dhruv Chandhok 10 лет назад 0
Надеюсь, что это сработает, завтра я проверю это в своей лаборатории :) Dhruv Chandhok 10 лет назад 0
Не смог сегодня подвести итоги, но я чувствую, что это сработает. Спасибо :) Dhruv Chandhok 10 лет назад 0

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