nixp.ru v3.0

18 октября 2017,
среда,
08:50:18 MSK

DevOps с компанией «Флант»
Mishunja написал 10 июля 2008 года в 12:02 (638 просмотров) Ведет себя как мужчина; открыл 1 тему в форуме, оставил 2 комментария на сайте.

Есть такая задача — пользователь 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&

Буду признателен за любую помощь.

neogeisha

смотреть в сторону sudo

Mishunja

а причем тут sudo?

metal
Mishunja
а причем тут sudo?

Потому что если пользователь, может обойти твой скрипт, хотя над этим ему придется поразмыслить:)

А вообще тебе надо в скрипте получить pid процесса который ты создаешь и пока проццесс живой делать sleep например.

Steck

А может посмотреть в сторону chroot+ssh например?

http://chrootssh.sourceforge.net/index.php

или слишком громоздко получится?

или я что-то не допонял)

Mishunja

я как раз смотрю в эту сторону:)

Сейчас пытаюсь запустить собранный ssh-server. Правда придется под chroot перетаскивать какой-нибудь оконный мнеджер, так как когда программа запускается через редирект Xserver, то у ее окошка нет верхней полоски с кнопочками свернуть/закрыть, а это неудобно, потому что окно не получается перетаскивать.

Как запасной вариант — буду копать в сторону SElinux, но боюсь с моими начальными знаниями Linux эту тему мне не осилить. Как думаете, стоит двигаться в этом направлении?

Steck
Mishunja
я какой-нибудь оконный мнеджер, так как когда программа запускается через редирект Xserver, то у ее окошка нет верхней полоски с кнопочками свернуть/закрыть, а это неудобно, потому что окно не получается перетаскивать.

можно поставить например openbox или fvwm.

А вообще надо двигатся в том направлении в каком удобно =)