взялся за bash значит e-bash :)

  • Автор теми Автор теми gameover
  • Дата створення Дата створення
Статус: Офлайн
Реєстрація: 16.03.2009
Повідом.: 1858
взялся за bash значит e-bash :)

такое дело комрады.
надо перегружать модем длинк dsl-2500u/bru.
к нему подключен сервак с линуксом.
на модеме открыт телнет.
внимание вопрос, как передать команды из баша в сессию телнет?
 
По теме: попробуйте
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
.
По snmp тоже возможно, но при наличии MIB для конкретно dsl-2500u/bru. Я на ftp dlink такового не обнаружил. В стандартных MIB OIDа для перезагрузки нет - это индивидуально к вендору/устройству.
 
как и в винде, telnet xxx.xxx.xxx.xxx

какие мы умные,да?
а дальше ты будешь сидеть и вводить логин/пароль и команды?

накропал такой скриптец

Код:
#!/usr/bin/expect

spawn telnet "192.168.10.1"
expect "ogin:"
send "admin\r"
expect "assword:"
send "admin\r"
expect ">"
send "ifconfig\r"
expect ">"
set results $expect_out(buffer)
send "logout\r"
expect eof

вот его вывод:
# ./telnet_dlink.sh
spawn telnet 192.168.10.1
Trying 192.168.10.1...
Connected to 192.168.10.1.
Escape character is '^]'.
BCM96338 ADSL Router
Login: admin
Password:
> ifconfig
logout
br0 Link encap:Ethernet HWaddr 00:1C:F0:A4:4E:E3
inet addr:192.168.10.1 Bcast:192.168.10.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:932217 errors:0 dropped:0 overruns:0 frame:0
TX packets:752791 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:234149477 (223.3 MiB) TX bytes:286621507 (273.3 MiB)

eth0 Link encap:Ethernet HWaddr 00:1C:F0:A4:4E:E3
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:932253 errors:0 dropped:0 overruns:0 frame:0
TX packets:753565 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:250952505 (239.3 MiB) TX bytes:290094247 (276.6 MiB)
Interrupt:23 Base address:0x2800

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

nas_0_1_32 Link encap:Ethernet HWaddr 00:1C:F0:A4:4E:E4
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:752877 errors:0 dropped:0 overruns:0 frame:0
TX packets:921828 errors:0 dropped:6 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:282122557 (269.0 MiB) TX bytes:260637749 (248.5 MiB)

ppp_0_1_32_1 Link encap:Point-Point Protocol
inet addr:92.112.xx.xxx P-t-P:195.5.5.205 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:751345 errors:0 dropped:0 overruns:0 frame:0
TX packets:921083 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:276024805 (263.2 MiB) TX bytes:231124575 (220.4 MiB)

> logout

Bye bye. Have a nice day!!!
Connection closed by foreign host.
когда народ поработает добавлю ребут

обязательно надо сделать скрипт исполняемым
 
Останнє редагування:
какие мы умные,да?
а дальше ты будешь сидеть и вводить логин/пароль и команды?

Задавать вопросы нужно корректней, ато хуй проссыш что тебе надо. Сказал бы что нужен скрипт- я б тебе сказал про expect
 
Задавать вопросы нужно корректней, ато хуй проссыш что тебе надо. Сказал бы что нужен скрипт- я б тебе сказал про expect
Макс, последнее время от тебя много постов, к-е не несут много нагрузки. я почему-то сразу догадался. так что не отмазывайся:D
 
#man su

там всё написано
su(1) Пользовательские команды su(1)

НАЗВАНИЕ
su - изменяет ID пользователя или делает его суперпользователем
СИНТАКСИС
su [параметры] [имя_пользователя]
ОПИСАНИЕ
Программа su используется для того, чтобы пользователь мог стать другим пользователем в текущей сессии. Если su вызывается без имени_пользователя,
то это по умолчанию делает пользователя суперпользователем. Необязательный параметр - можно использовать для воссоздания рабочей среды, такой же
как если бы настоящий пользователь выполнял вход в систему.
После имени пользователя можно указать дополнительные аргументы, которые будут переданы регистрационной оболочке пользователя. В частности,
аргумент -c заставит большинство оболочек считать следующий аргумент как команду. Команда будет выполнена оболочкой, указанной в файле
/etc/passwd, которая является регистрационной для указываемого пользователя.
Вы можете использовать параметр -- чтобы отделить параметры su от параметров передаваемых оболочке.
Пользователю предложат ввести пароль, если он задан. При неверном пароле возникает сообщение об ошибке. Все попытки, удачные и неудачные,
протоколируются системой с целью обнаружения злоупотреблений.
Текущая рабочая среда передаётся новой оболочке. Значение $PATH устанавливается равным /bin:/usr/bin для обычных пользователей, или
/sbin:/bin:/usr/sbin:/usr/bin для суперпользователя. Эти значения можно изменить в переменных ENV_PATH и ENV_SUPATH в файле /etc/login.defs.
Субсистемный вход в систему можно распознать по наличию символа "*" в начале регистрационной оболочки. Заданный домашний каталог будет использован
как корень новой файловой системы, в которой регистрируется пользователь.

ПАРАМЕТРЫ
Параметры команды su:

-c, --commandКОМАНДА
Указать команду, которая будет запущена оболочкой в виде параметра для -c.
-, -l, --login
Предоставляет среду, как если бы пользователь непосредственно регистрировался в системе.
Если используется -, то он должен быть задан последним параметром su. Другие формы (-l и --login) не имеют этого ограничения.
-s, --shellОБОЛОЧКА
Manual page su(1) line 1
Оболочка, которая будет запущена.
Запущенная оболочка выбирается из (в порядке убывания приоритета):
o Оболочка указанная в параметре --shell.
o Если используется --preserve-environment, то оболочка задаётся переменной среды $SHELL.
o Оболочка, указанная в записи файла /etc/passwd для заданного пользователя.
o /bin/sh, если ни одной оболочке не было найдено с помощью методов, указанных выше.
Если заданный пользователь имеет ограниченную оболочку (то есть оболочка в поле пользовательской записи в файле /etc/passwd не прописана в
файле /etc/shell), то параметр --shell или переменная среды $SHELL не будет взята в учётную запись, если su не была запущена
суперпользователем.
-m, -p, --preserve-environment
Сохранить имеющуюся рабочую среду.
Если заданный пользователь имеет ограниченную оболочку, то этот параметр не сработает (если su не запускается суперпользователем).
ПРЕДОСТЕРЕЖЕНИЯ
Данная версия программы su может быть собрана с разными параметрами и только некоторые из них смогут быть использованы на любой машине.
CONFIGURATION
The following configuration variables in /etc/login.defs change the behavior of this tool:
CONSOLE_GROUPS (string)
List of groups to add to the user's supplementary group set when logging in on the console (as determined by the CONSOLE setting). Default is
none.
Use with caution - it is possible for users to gain permanent access to these groups, even when not logged in on the console.
DEFAULT_HOME (boolean)
Indicate if login is allowed if we can't cd to the home directory. Default in no.
If set to yes, the user will login in the root (/) directory if it is not possible to cd to her home directory.
ENV_PATH (string)
If set, it will be used to define the PATH environment variable when a regular user login. The value can be preceded by PATH=, or a colon
separated list of paths (for example /bin:/usr/bin). The default value is PATH=/bin:/usr/bin.
ENV_SUPATH (string)
If set, it will be used to define the PATH environment variable when the superuser login. The value can be preceded by PATH=, or a colon
separated list of paths (for example /sbin:/bin:/usr/sbin:/usr/bin). The default value is PATH=/bin:/usr/bin.
SULOG_FILE (string)
If defined, all su activity is logged to this file.
SU_NAME (string)
If defined, the command name to display when running "su -". For example, if this is defined as "su" then a "ps" will display the command is
"-su". If not defined, then "ps" would display the name of the shell actually being run, e.g. something like "-sh".
SYSLOG_SU_ENAB (boolean)
Enable "syslog" logging of su activity - in addition to sulog file logging.
ФАЙЛЫ
/etc/passwd
содержит информацию о пользователях
/etc/shadow
содержит защищаемую информацию о пользователях
СМОТРИТЕ ТАКЖЕ
login(1), login.defs(5), sg(1), sh(1)
Пользовательские команды 11/22/2008 su(1)
Manual page su(1) line 72/113 (END)




ГДЕ ???
 
не совсем по теме, но если кто знает помогите пожалуйста . к примеру ситуация такая

x="testuser"
su $x

как передать пассворд ?

expect

а вообще лучше не страдать херней и в этом конкрентном случае пользоваться sudo без пароля на определенные команды.

goo4_XBM, мой Вам совет - научитесь пользоваться гуглем или поиском на опеннете к примеру
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.


здорово облегчит жизнь...
 
Останнє редагування:
expect

а вообще лучше не страдать херней и в этом конкрентном случае пользоваться sudo без пароля на определенные команды.

goo4_XBM, мой Вам совет - научитесь пользоваться гуглем или поиском на опеннете к примеру
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.


здорово облегчит жизнь...

за линк спасибо)) гуглем пользоваться умею, увидел похожую тему, форумы для того и существуют чтобы задавать вопросы, sudo не подходит - скрипты должны жергаться с веба, некоторые должны производить авторизацию, поэтому необходимо именно что бы происходил логин в систему для опеределенного юзера логин и пасс которые будут передаваться.
 
Назад
Зверху Знизу