реклама на сайте
подробности

 
 
> запуск проги через telnet и ее автовыгрузка
Pasa
сообщение Mar 28 2010, 09:10
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 4-03-09
Из: Беларусь, Минск
Пользователь №: 45 665



Запукаю программу на удаленном компе через телнет. Если закрываю окно клиента telnet - то на удаленном компе запущенная прога тоже автоматом закрывается. Это мне и нужно. Делаю то же самое, когда в качестве удаленного компа выступает самопальная целевая плата с прошитым линуксом на борту. При закрытии окна telnet - программа на плате продолжает работать. Где в каких скриптах что подправить - чтобы после закрытия окна прога на целевой плате тоже закрывалась?

На обычном компе(виртулбная машина с Ubuntu или RedHat) прогу запускаю через модификацию /etc/passw
А на плате в стартовом скрипте прописано: telnetd -l Proga.exe. При этом при коннекте по телнету логин и пароль юзера не спрашивается, а сразу запускается Proga.exe

Пробовал в скрипте писать telnetd -l /bin/sh. В этом случае при коннект запускается SHELL и потом ручками запускаю Proga.exe.
Но при закрытии окна - Proga.exe все равно продолжает работать.
Подскажите - как на линуксе, который на виртулке крутится, сделано, чтоб после закрытия окна(сессии телнета) автоматом закрывалось приложение запущенное через это окно?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 8)
Idle
сообщение Mar 28 2010, 15:15
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 351
Регистрация: 5-04-05
Пользователь №: 3 874



Цитата(Pasa @ Mar 28 2010, 13:10) *
Подскажите - как на линуксе, который на виртулке крутится, сделано, чтоб после закрытия окна(сессии телнета) автоматом закрывалось приложение запущенное через это окно?

думаю, что так:
Цитата
Normally telnetd enables the TCP keep-alive mechanism to probe connections that have been idle for some period of time to determine if the client is still there, so that idle connections from machines that have crashed or can no longer be reached may be cleaned up.


busybox, видимо, этого не делает

установите отдельный telnetd или завершайте программу перед закрытием окна

Сообщение отредактировал Idle - Mar 28 2010, 15:16
Go to the top of the page
 
+Quote Post
dch
сообщение Mar 29 2010, 05:57
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1 179
Регистрация: 15-09-04
Из: 141070 г. Королев МО, улица Горького 39-121
Пользователь №: 661



а у Вас какой линукс стоит на платочке?
Go to the top of the page
 
+Quote Post
Pasa
сообщение Mar 29 2010, 13:59
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 4-03-09
Из: Беларусь, Минск
Пользователь №: 45 665



на плате стоит ядро 2.6.28. Плата от StarterKit (AT91SAM9260) . Вместе с платой шел диск c виртуальной машиной(RedHat), в которой собственно был уже настроенный кросс, buildroot и ядро. Глубокмим познаниями не обладаю, но вроде как научился собирать и шить Bootstrap, Uboot, rootfs и ядро. Проги тоже вроде пишутся без проблем. Вот теперь с телнетом бодаюсь. Веренее с автозакрытием.


to Idle:
"или завершайте программу перед закрытием окна" - как вариант, но не совсем то.

"установите отдельный telnetd " - не хватает знаний понять , что имеется ввиду, если можно - попроще, что надо сделать?
Go to the top of the page
 
+Quote Post
Pasa
сообщение Mar 29 2010, 16:58
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 4-03-09
Из: Беларусь, Минск
Пользователь №: 45 665



Итак:

Сделал отдельного юзера. В /etc/passw для этого юзера прописал соответсвенно Prog.exe. - и чудо!! ВСЕ ЗАРАБОТАЛО! Захожу по теленету с удаленного компа под именем юзера - автоматом запускается на плате Prog.exe.
На удаленном компе просто закрываю окно - на плате АВТОМАТОМ Prog.exe закрывается. Все как на обычном линуксе. То что мне и надо....почти.

Дел в том, что теперь(после добавления юзера) телнет на плате запускается просто - telnetd. После попытки коннекта с удаленного компа выскаивает (на удаленном компе) просьба ввести login: и password:
А хочется, чтоб не надо было вообще вводить линуксово-юзерский логин-пароль - а сразу видеть запуск Prog.exe

Именно так было, когда юзера не добавлял, а телнет на плате запускался через "telnetd -l /home/Prog.exe"
Но в этом случае закрытие окна телнета на удаленном компе не приводило к автозакрытию Prog.exe

Можно ли как-то обойти ввод логина-пароля юзера(или чтоб он вводился автоматически как-нибудь) - чтоб сразу по коннекту попадать в Prog.exe?

"telnetd -l /home/Prog.exe" - как я понял "из интернета" не совсем верно. Это просто подмена стандартной проги login. На самом деле telnetd запускает по умолчанию login, которая регистрирует пользователя и запускает прописаную в passw для этого пользователя оболочку. В моем случае это будет Prog.exe.
Теперь стоит вопрос, как попросить login автоматом логинится на нужного юзера. Типа автологин. Есть ключ -f. Но никак не получается в связке запустить telnetd и login(в режиме автологина)

Подскажите, как это в скриптах будет выглядеть?
Go to the top of the page
 
+Quote Post
faa
сообщение Mar 29 2010, 17:48
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 726
Регистрация: 14-09-06
Из: Москва
Пользователь №: 20 394



Цитата(Pasa @ Mar 29 2010, 20:58) *
Дел в том, что теперь(после добавления юзера) телнет на плате запускается просто - telnetd. После попытки коннекта с удаленного компа выскаивает (на удаленном компе) просьба ввести login: и password:
А хочется, чтоб не надо было вообще вводить линуксово-юзерский логин-пароль - а сразу видеть запуск Prog.exe


man 5 passwd
man shadow (если используется)
man telnet
Можно заставить ходить без пароля.
Или пароль в скрипте задать.

Но без пароля, да и телнет - не секурно это.
ssh надо настроить. Из "легких" для таких машинок - dropbear.

Или сервачок свой написать: стукнул ему в порт - программка запустилась, стукнул в другой - прибилась.
Можно прогу подрихтовать, чтобы тоже самое делала: слушала порт, делала требуемое, засыпала.

Вариантов море. На то и unix-way.

ЗЫ: А Proga.exe - это как-то из мира БГ smile.gif

Сообщение отредактировал faa - Mar 29 2010, 18:19
Go to the top of the page
 
+Quote Post
Pasa
сообщение Mar 30 2010, 11:43
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 4-03-09
Из: Беларусь, Минск
Пользователь №: 45 665



Мда....понимаю и соглашаюсь, что в линуксе я полный профан и огромное число людей обладает знаниями в этом вопросе гораздо больше чем я. Можно сделать и так....и этак... и вот так....и даже вот так.....а можно вообще наооборот...и все будет работать. Вот конкретно и спрашиваю....КАК(применительно к конкретно моим условиям)?

Короче...Попробую сформулировать вопрос проще:

Пользовоатель одним из СТАНДАРТНЫХ клиентов(в том числе и из-под винды) лезет по телнету на плату и должен поподать сразу в меню программки, запущенной автоматом для этого юзера(програмка прописана в /etc/passw для этого юзера). При этом нужно обойти запрос на ввод логина и пароля от программки /bin/login, которая в свою очередь запускается программкой /bin/telnetd, которая, в свою очередь была запущена стартовым скриптом при загрузке системы: telnetd

Вопрос простой - где в каком скрипте прописать указание для /bin/login, чтобы при запуске ее telnetd-ом, ЛЮБОЙ юзер, стучащий в теленет, автоматом логинился с нужным(жестко заданным) паролем-логином и попадал в меню Prog.exe


кто знает решение....подскажите....
Go to the top of the page
 
+Quote Post
Pasa
сообщение Mar 30 2010, 14:21
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 4-03-09
Из: Беларусь, Минск
Пользователь №: 45 665



Так.... всем спасибо.....тема закрыта

p.s.
Решил вопрос путем написания собственной проги-автологина. Все заработало именно так как мне и ужно было.
Go to the top of the page
 
+Quote Post
ra9ftm
сообщение Sep 17 2010, 02:50
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 8-01-09
Пользователь №: 43 014



(удалить)


Сообщение отредактировал ra9ftm - Sep 17 2010, 02:52
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 09:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.01409 секунд с 7
ELECTRONIX ©2004-2016