Есть такая задача — пользователь test при удаленном входе в систему должен иметь право только на запуск одной программы-клиента: app.jnlp. Ничего другого пользователь на этой машине делать не должен (ну может только зайти по ftp в домашний каталог).В качестве ОС используется fedora 8.
Приложение запускается с помощью javaws и работает по сети с сервером.
Пользователь будет заходить на машину либо по ssh с редиректом X дисплея, либо с помощью nx-клиента.
Сделал так: прописал shell для пользователя test в /etc/passwd:
test:x:505:505::/home/test:/usr/share/app/app.sh
в app.sh прописал:
#!/bin/sh
/usr/bin/javaws /usr/share/app/app.jnlp
Но столкнулся с такой проблемой, что при коннекте по ssh сеанс сразу разрывается. Это происходит, вероятно, потому, что при запуске приложение, запускает дочерний процесс, который уже прорисовывает окошки, а первоначальный процесс при этом закрывается. С закрытием основного процесса закрывается и сессия. Эта догадка потверждается, если сделать локальный вход. Gnome выдает окно, что сеанс длился меньше десяти секунд, нажмите ОК. При этом через некоторое время появляется окно проги.
Подскажите, как это обойти, или как правильно настроить то что мне нужно?
PS: чтобы смоделировать у себя такую проблему можно в app.sh написать:
#!/bin/sh
/usr/bin/gimp&
Буду признателен за любую помощь.
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
смотреть в сторону sudo
а причем тут sudo?
Потому что если пользователь, может обойти твой скрипт, хотя над этим ему придется поразмыслить:)
А вообще тебе надо в скрипте получить pid процесса который ты создаешь и пока проццесс живой делать sleep например.
А может посмотреть в сторону chroot+ssh например?
http://chrootssh.sourceforge.net/index.php
или слишком громоздко получится?
или я что-то не допонял)
я как раз смотрю в эту сторону:)
Сейчас пытаюсь запустить собранный ssh-server. Правда придется под chroot перетаскивать какой-нибудь оконный мнеджер, так как когда программа запускается через редирект Xserver, то у ее окошка нет верхней полоски с кнопочками свернуть/закрыть, а это неудобно, потому что окно не получается перетаскивать.
Как запасной вариант — буду копать в сторону SElinux, но боюсь с моими начальными знаниями Linux эту тему мне не осилить. Как думаете, стоит двигаться в этом направлении?
можно поставить например openbox или fvwm.
А вообще надо двигатся в том направлении в каком удобно =)