Можно использовать MySecureShell, который делает то, что Вы хотите. Вы можете chroot Ваши пользователи в среде в очень простом способе.
Конфигурация также легка для того, чтобы сделать то, что Вы хотите (только 4 строки): Домашний $HOME VirtualChroot да
Затем добавьте/bin/MySecureShell на необходимых пользователях, и он сделан :-)
Удача :-)
К сожалению, процессы Java склоняются не к daemonize, а также другим языкам. Для Причала Вы захотите использовать что-то как daemonize, чтобы запустить и справиться с процессом.
Редактирование - некоторые дополнительные детали:
После создания daemonize (согласно инструкциям в вышеупомянутой ссылке), параметры командной строки объяснены в сгенерированном файле daemonize.html
. Протестируйте его из команды запуска, чтобы гарантировать, что это работает как ожидалось.
Затем для запуска Причала при запуске добавьте команду daemonize к init сценарию оболочки (например, поскольку CentOS/RHEL добавляют /etc/rc.d/rc.local
). Например:
#!/bin/bash
#...other startup commands
/path-to/daemonize -c /path-to/jetty/ -p pid.txt -e error.log -o console.log -a /usr/bin/java -jar start.jar
Я поместил бы прокси Apache2 перед сервером приложений. Apache2 разработали определенный модуль для этого. Это добавляет соответствующие заголовки к запросу на Ваше приложение для идентификации удаленного пользователя. Apache2 может использоваться, чтобы служить статическому содержанию и только передать запросы приложения серверу приложений.
Windows не реализует привилегированные порты (порты меньше чем 1 024). Кроме рабочего Причала как корень, требуется некоторая техника, связывают порт 80 как корень и передают данные Причалу. Apache2 использует setuid после привязки порта так, чтобы процесс, обрабатывающий запрос, не имел корневого доступа к Вашей системе.
Сайты Вы нашли шоу некоторыми опциями: