Запуск пароленых программ из скрипта

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Аватара пользователя
Skyb
Сообщения: 967
ОС: RFremix 18

Запуск пароленых программ из скрипта

Сообщение Skyb »

Скриптописатели расскажите как реализовать сабж
Тоесть - есть программа, скрипт ее запускает при старте, но она требует ввод пароля, как реализовать ввод пароля через скрипт?
C:\windows> ifconfig
"ifconfig" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5405
ОС: Gentoo

Re: Запуск пароленых программ из скрипта

Сообщение /dev/random »

Смотря как она запрашивает пароль. Иногда достаточно передать ей пароль на stdin. У некоторых программ есть ключи для указания fd, откуда читать пароль. У некоторых даже сам пароль можно передать в командной строке (хоть это и нежелательно). В особо запущенных случаях поможет только программа expect.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Запуск пароленых программ из скрипта

Сообщение drBatty »

Skyb писал(а):
26.08.2010 06:51
Тоесть - есть программа, скрипт ее запускает при старте, но она требует ввод пароля, как реализовать ввод пароля через скрипт?

программы разные бывают, универсального рецепта я не знаю.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Skyb
Сообщения: 967
ОС: RFremix 18

Re: Запуск пароленых программ из скрипта

Сообщение Skyb »

список команд которые последовательно выполняются в консоли

Код: Выделить всё

workon bask
cdvirtualenv
cd bask
./startts.sh

после этого идет запрос пароля Password: где и нада вбить пароль....помагайте пжл :)
C:\windows> ifconfig
"ifconfig" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5405
ОС: Gentoo

Re: Запуск пароленых программ из скрипта

Сообщение /dev/random »

Какая именно программа спрашивает пароль? Подозреваю, что какая-то из вызываемых в скрипте startts.sh, но какая именно - можете сказать только вы.
Спасибо сказали:
Аватара пользователя
Skyb
Сообщения: 967
ОС: RFremix 18

Re: Запуск пароленых программ из скрипта

Сообщение Skyb »

эм самописная на питоне, джанго шаблоны
C:\windows> ifconfig
"ifconfig" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5405
ОС: Gentoo

Re: Запуск пароленых программ из скрипта

Сообщение /dev/random »

Ну вот и смотрите в этой "самописной на питоне", которая почему-то оканчивается на ".sh", а не на ".py", где она и как спрашивает пароль.
Спасибо сказали:
Аватара пользователя
Skyb
Сообщения: 967
ОС: RFremix 18

Re: Запуск пароленых программ из скрипта

Сообщение Skyb »

Потому что этот скрипт запускает питоновкое приложение, вы подскажите как запустить те команды которые я выложил ?
C:\windows> ifconfig
"ifconfig" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5405
ОС: Gentoo

Re: Запуск пароленых программ из скрипта

Сообщение /dev/random »

Skyb писал(а):
26.08.2010 11:36
вы подскажите как запустить те команды которые я выложил ?

Просто забить их последовательно в текстовый файл и запускать его как скрипт. Но пароль вводить нужно будет пользователю. Чтобы это делал скрипт, нужно знать, кто и как запрашивает пароль.
Спасибо сказали:
Аватара пользователя
Skyb
Сообщения: 967
ОС: RFremix 18

Re: Запуск пароленых программ из скрипта

Сообщение Skyb »

Код: Выделить всё

./start_site0.sh: line 3: workon bask: command not found
./start_site0.sh: line 4: cdvirtualenv: command not found
./start_site0.sh: line 5: cd: bask: Это не каталог
./start_site0.sh: line 6: ./startts.sh: Нет такого файла или каталога



Код: Выделить всё

cat start_site0.sh
#!/bin/sh

"workon bask"
cdvirtualenv
cd bask
./startts.sh

иначебы я не спрашивал, руками отрабатывает
C:\windows> ifconfig
"ifconfig" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5405
ОС: Gentoo

Re: Запуск пароленых программ из скрипта

Сообщение /dev/random »

А нафига вы "workon bask" в кавычки заключили?
Спасибо сказали:
Аватара пользователя
Skyb
Сообщения: 967
ОС: RFremix 18

Re: Запуск пароленых программ из скрипта

Сообщение Skyb »

Код: Выделить всё

 cat start_site0.sh
#!/bin/sh

workon bask
cdvirtualenv
cd bask
./startts.sh


Код: Выделить всё

./start_site0.sh
./start_site0.sh: line 3: workon: command not found
./start_site0.sh: line 4: cdvirtualenv: command not found
./start_site0.sh: line 5: cd: bask: Это не каталог
./start_site0.sh: line 6: ./startts.sh: Нет такого файла или каталога


Эм команда иначе невидиться полностью :)
C:\windows> ifconfig
"ifconfig" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Спасибо сказали:
Аватара пользователя
Encore
Сообщения: 656
Статус: loading..............
ОС: Debian

Re: Запуск пароленых программ из скрипта

Сообщение Encore »

Полные пути пропишите для этих команд
Спасибо сказали:
Аватара пользователя
Skyb
Сообщения: 967
ОС: RFremix 18

Re: Запуск пароленых программ из скрипта

Сообщение Skyb »

хых :) ....дело в том что первой командой, в окружении пользователя, создается виртуальное пространство, в этом виртуальном пространстве ведется выполнение команд....тоесть можно сказать что они полные :) ... есть ещё предложения :) ?
C:\windows> ifconfig
"ifconfig" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5405
ОС: Gentoo

Re: Запуск пароленых программ из скрипта

Сообщение /dev/random »

Т.е. хотите сказать, что команды 2-4 - это не шелл-команды, а команды для "workon"? Если да, то передайте их ему на stdin.
И вообще, выкладывайте _ВСЁ_. А то стоит нам дать вам какой-то совет, и оказывается, что вы о чём-то умолчали, из-за чего этот совет бесполезен. Если хотите, чтобы вам помогали, выкладывайте полную информацию о том, что вы делаете и что вам надо.
Спасибо сказали:
Аватара пользователя
Skyb
Сообщения: 967
ОС: RFremix 18

Re: Запуск пароленых программ из скрипта

Сообщение Skyb »

да уже собственно все дал :)

последовательность команд которые делаются руками это то что я вписал в скрипте....их просто нужно запустить скриптом, потом передать пароль и все :))
C:\windows> ifconfig
"ifconfig" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5405
ОС: Gentoo

Re: Запуск пароленых программ из скрипта

Сообщение /dev/random »

Skyb писал(а):
27.08.2010 09:31
да уже собственно все дал :)

Нет, вы не всё дали. КУДА вы вводите каждую из команд? И не надо говорить "в терминал". Тут выясняется, что вы что-то вводите в шелл, что-то вообще в какую-то дополнительную программу. И куда вы вводите пароль?
Спасибо сказали:
Аватара пользователя
Skyb
Сообщения: 967
ОС: RFremix 18

Re: Запуск пароленых программ из скрипта

Сообщение Skyb »

полностью что делаю....см скрин
У вас нет необходимых прав для просмотра вложений в этом сообщении.
C:\windows> ifconfig
"ifconfig" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Спасибо сказали:
Аватара пользователя
radial
Сообщения: 577
ОС: OpenSUSE

Re: Запуск пароленых программ из скрипта

Сообщение radial »

чет много написали уже, ниасилил. получаете хеш и дальше стандартными средствами bash.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5405
ОС: Gentoo

Re: Запуск пароленых программ из скрипта

Сообщение /dev/random »

Код: Выделить всё

su webguru -c "workon bask" <<EOF
cdvirtualenv
cd bask
./startts.sh
EOF

Но пароль может понадобиться вводить вручную, а может - дописать перед EOF, в зависимости от того, каким способом он спрашивается. К сожалению, я никак не могу добиться от вас вменяемой информации об этом способе.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Запуск пароленых программ из скрипта

Сообщение drBatty »

/dev/random а вы не подскажите, как ввести пароль в ssh?

echo "password" | ssh $HOST

Pseudo-terminal will not be allocated because stdin is not a terminal.


man expect?
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
watashiwa_daredeska
Бывший модератор
Сообщения: 4038
Статус: Искусственный интеллект (pre-alpha)
ОС: Debian GNU/Linux

Re: Запуск пароленых программ из скрипта

Сообщение watashiwa_daredeska »

drBatty писал(а):
01.09.2010 01:38
man expect?
Ага. Или man ssh на предмет public key authentication.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5405
ОС: Gentoo

Re: Запуск пароленых программ из скрипта

Сообщение /dev/random »

drBatty писал(а):
01.09.2010 01:38
man expect?

Да. Вначале spawn, затем send, затем interact.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Запуск пароленых программ из скрипта

Сообщение drBatty »

watashiwa_darede... писал(а):
01.09.2010 01:44
Или man ssh на предмет public key authentication.

да это я знаю... тут попался один... не дают мне ключ туда отправить, дали пароль, а по ключу им "религия не позволяет" :(

/dev/random писал(а):
01.09.2010 02:00
Да. Вначале spawn, затем send, затем interact.

спасибо, попробую.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Skyb
Сообщения: 967
ОС: RFremix 18

Re: Запуск пароленых программ из скрипта

Сообщение Skyb »

/dev/random писал(а):
31.08.2010 20:08

Код: Выделить всё

su webguru -c "workon bask" <<EOF
cdvirtualenv
cd bask
./startts.sh
EOF

Но пароль может понадобиться вводить вручную, а может - дописать перед EOF, в зависимости от того, каким способом он спрашивается. К сожалению, я никак не могу добиться от вас вменяемой информации об этом способе.

а как понять "каким способом спрашивает пароль" ?

После запуска

Код: Выделить всё

./start_site0.sh
./start_site0.sh: line 7: warning: here-document at line 3 delimited by end-of-file (wanted `EOF')
bash: workon: command not found

C:\windows> ifconfig
"ifconfig" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5405
ОС: Gentoo

Re: Запуск пароленых программ из скрипта

Сообщение /dev/random »

Skyb писал(а):
01.09.2010 04:25
а как понять "каким способом спрашивает пароль" ?

Из stdin, с tty, ещё как?
Если программа спрашивает его не вручную, а запускает для этого другую программу (su, sudo, ssh, ...) то какую и с какими параметрами? Можно ли эти параметры изменить?
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Запуск пароленых программ из скрипта

Сообщение sash-kan »

drBatty писал(а):
01.09.2010 01:38
/dev/random а вы не подскажите, как ввести пароль в ssh?

echo "password" | ssh $HOST

Pseudo-terminal will not be allocated because stdin is not a terminal.


man expect?
реализация openssh никак не ожидает паролей в stdin-е. согласно man-у, по крайней мере.
а ожидает потока данных, которые будут переданы (опять же на stdin) вызванной на том конце команде. а-ля:
$ cat file | ssh host 'cat > file'

p.s. отведение псевдо-терминала управляется ключами "-t" и "-T".
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5405
ОС: Gentoo

Re: Запуск пароленых программ из скрипта

Сообщение /dev/random »

sash-kan писал(а):
01.09.2010 10:34
реализация openssh никак не ожидает паролей в stdin-е. согласно man-у, по крайней мере.

А expect как раз и предназначен для взаимодействия с программами, которые читают не с stdin, а с tty.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5405
ОС: Gentoo

Re: Запуск пароленых программ из скрипта

Сообщение /dev/random »

iУведомление от модератора
Обсуждение альтернатив expect'у теперь здесь: exepct vs. аналоги
Спасибо сказали:
Аватара пользователя
Skyb
Сообщения: 967
ОС: RFremix 18

Re: Запуск пароленых программ из скрипта

Сообщение Skyb »

/dev/random писал(а):
01.09.2010 04:29
Skyb писал(а):
01.09.2010 04:25
а как понять "каким способом спрашивает пароль" ?

Из stdin, с tty, ещё как?
Если программа спрашивает его не вручную, а запускает для этого другую программу (su, sudo, ssh, ...) то какую и с какими параметрами? Можно ли эти параметры изменить?

вроде как stdin, дополнительного она нечего невызывает
C:\windows> ifconfig
"ifconfig" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Спасибо сказали: