The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Как указать ключи в shell"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как указать ключи в shell" 
Сообщение от quest Искать по авторуВ закладки(??) on 15-Сен-05, 12:33  (MSK)
Добрый день.
Вопрос такой: мне надо запускать определнную программу с ключами, когда пользователь логинится на сервер (Linux).

С помощью vipw редактирую пользователя, вместо /bin/bash пишу что-то вроде /usr/local/mydir/myprogram -key. Но указанная программа с ключами не запускается. Подскажите, как правильно сделать.

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Как указать ключи в shell" 
Сообщение от lavr emailИскать по авторуВ закладки on 15-Сен-05, 12:37  (MSK)
>Добрый день.
>Вопрос такой: мне надо запускать определнную программу с ключами, когда пользователь логинится
>на сервер (Linux).
>
>С помощью vipw редактирую пользователя, вместо /bin/bash пишу что-то вроде /usr/local/mydir/myprogram -key.
>Но указанная программа с ключами не запускается. Подскажите, как правильно сделать.
>

вероятно shell-script внутри которого:

#!/path/shell
...
/path/myprog [options]
...

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Как указать ключи в shell" 
Сообщение от quest Искать по авторуВ закладки(??) on 15-Сен-05, 12:56  (MSK)
>вероятно shell-script внутри которого:
>
>#!/path/shell
>...
>/path/myprog [options]
>...

Благодарю. Теперь работает, но только если я захожу с консоли под рутом, а потом делаю su myuser.

Если логиниться сразу под myuser, после авторизации сеанс закрывается. Права на чтение, запись и исполнение проставлены на всю диреторию, откуда запускается нужная программа. ??

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Как указать ключи в shell" 
Сообщение от newser Искать по авторуВ закладки(ok) on 15-Сен-05, 13:41  (MSK)
>>вероятно shell-script внутри которого:
>>
>>#!/path/shell
>>...
>>/path/myprog [options]
>>...
>
>Благодарю. Теперь работает, но только если я захожу с консоли под рутом,
>а потом делаю su myuser.
>
>Если логиниться сразу под myuser, после авторизации сеанс закрывается. Права на чтение,
>запись и исполнение проставлены на всю диреторию, откуда запускается нужная программа.
>??

Правильно, как только Ваш скрипт завершил работу, сеанс считается законченным, после чего управление возвращается к getty

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Как указать ключи в shell" 
Сообщение от quest Искать по авторуВ закладки(??) on 15-Сен-05, 13:58  (MSK)
>>Если логиниться сразу под myuser, после авторизации сеанс закрывается. Права на чтение,
>>запись и исполнение проставлены на всю диреторию, откуда запускается нужная программа.
>>??
>
>Правильно, как только Ваш скрипт завершил работу, сеанс считается законченным, после чего
>управление возвращается к getty

Хорошо. Можно как-то "не возвращать" управление getty, пока пользователь не отработает в запускаемой программе из скрипта, и сам не завершит ее выполнение?

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

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Как указать ключи в shell" 
Сообщение от newser Искать по авторуВ закладки(ok) on 15-Сен-05, 14:42  (MSK)
>>>Если логиниться сразу под myuser, после авторизации сеанс закрывается. Права на чтение,
>>>запись и исполнение проставлены на всю диреторию, откуда запускается нужная программа.
>>>??
>>
>>Правильно, как только Ваш скрипт завершил работу, сеанс считается законченным, после чего
>>управление возвращается к getty
>
>Хорошо. Можно как-то "не возвращать" управление getty, пока пользователь не отработает в
>запускаемой программе из скрипта, и сам не завершит ее выполнение?
>
>Ведь если управление возвращается к getty, то мой скрипт, так сказать, вообще
>не имеет никакой пользы в данном случае: отработал, передал управление и
>сеанс завершился. А что с программой, которая должна была запуститься из
>скрипта? Как ей передать управление?

А Ваша программа интерактивная? Если да, то такой проблемы быть и не должно, если пользователь завершит ее сам. Если же Ваша программа неинтерактивная, то как выход можете написать в самом конце Вашего скрипта что-нибудь вроде:

exec /bin/sh

тогда пользователь получит приглашение командной строки. Завершив сеанс шелла, он таким образом выйдет из системы.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Как указать ключи в shell" 
Сообщение от quest Искать по авторуВ закладки(??) on 15-Сен-05, 15:02  (MSK)
>А Ваша программа интерактивная? Если да, то такой проблемы быть и не
>должно, если пользователь завершит ее сам. Если же Ваша программа неинтерактивная,
>то как выход можете написать в самом конце Вашего скрипта что-нибудь
>вроде:
>
>exec /bin/sh
>
>тогда пользователь получит приглашение командной строки. Завершив сеанс шелла, он таким образом
>выйдет из системы.

Да, программа интерактивная. Собственно, это СУБД GT.M, запускать которую надо в так называемом "direct mode" (для запуска программ "внутри" СУБД).

Сам скрипт вот:

#!/bin/sh

/usr/local/gtm/mumps -direct

Странно, что сеанс завершается после авторизации, т.е. СУБД и не запускается. Попробую еще дописать Ваш вариант.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Как указать ключи в shell" 
Сообщение от newser Искать по авторуВ закладки(ok) on 15-Сен-05, 15:30  (MSK)
>>А Ваша программа интерактивная? Если да, то такой проблемы быть и не
>>должно, если пользователь завершит ее сам. Если же Ваша программа неинтерактивная,
>>то как выход можете написать в самом конце Вашего скрипта что-нибудь
>>вроде:
>>
>>exec /bin/sh
>>
>>тогда пользователь получит приглашение командной строки. Завершив сеанс шелла, он таким образом
>>выйдет из системы.
>
>Да, программа интерактивная. Собственно, это СУБД GT.M, запускать которую надо в так
>называемом "direct mode" (для запуска программ "внутри" СУБД).
>
>Сам скрипт вот:
>
>#!/bin/sh
>
>/usr/local/gtm/mumps -direct
>
>Странно, что сеанс завершается после авторизации, т.е. СУБД и не запускается. Попробую
>еще дописать Ваш вариант.

А если эту программу запускать из шелла, она работает так, как надо, или тоже завершается сразу? Не выдает ли она каких-либо ошибок? Если она ведет логи, можно заглянуть в них.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Как указать ключи в shell" 
Сообщение от quest Искать по авторуВ закладки(??) on 15-Сен-05, 15:40  (MSK)
>А если эту программу запускать из шелла, она работает так, как надо,
>или тоже завершается сразу? Не выдает ли она каких-либо ошибок? Если
>она ведет логи, можно заглянуть в них.

В том-то и дело, что работает так как надо:

1) Если запускать после регистрации пользователя из шелла (если в /etc/passwd прописан /bin/bash)

2) Если запускать после регистрации рута по команде su myuser (если в /etc/passwd прописан /usr/local/gtm/my_script)

Ведение логов отключено по-видимому.

Хорошо. Если попробовать запуск скажем редактора vi, то он должен отработать? Т.е. после создания текстового файла и закрытия редактора сеанс дожен завершиться?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "Как указать ключи в shell" 
Сообщение от quest Искать по авторуВ закладки(??) on 15-Сен-05, 15:43  (MSK)
>Хорошо. Если попробовать запуск скажем редактора vi, то он должен отработать? Т.е.
>после создания текстового файла и закрытия редактора сеанс дожен завершиться?

Редактор vi работает так как надо. Т.е. сначала регистрация, потом запуск редактора, потом завершение сеанса.
По-видимому причина в самой программе.
Спасибо за помощь.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "Как указать ключи в shell" 
Сообщение от mezantrop Искать по авторуВ закладки(??) on 15-Сен-05, 16:13  (MSK)
>>Хорошо. Если попробовать запуск скажем редактора vi, то он должен отработать? Т.е.
>>после создания текстового файла и закрытия редактора сеанс дожен завершиться?
>
>Редактор vi работает так как надо. Т.е. сначала регистрация, потом запуск редактора,
>потом завершение сеанса.
>По-видимому причина в самой программе.
>Спасибо за помощь.

Скорее всего что-то, что очень нужно вашей СУБД прописано в профайле. Наверняка там выставляются какие-то переменные окружения.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру