Разрешить некорневым процессам прослушивать порт 80 без каких-либо серьезных действий [дубликат]

По причинам, выходящим за рамки моего понимания, GlassFish отказывается играть в мяч с iptables . То есть, если установлены все правильные правила перенаправления, он не будет получать перенаправленный трафик. Итак, я придерживаюсь плана B, который заключается в привязке GlassFish к портам 80 и 443, а не 8080 и 8181.

Поскольку я не хочу запускать GlassFish от имени пользователя root по соображениям безопасности, мне нужно предоставить учетную запись пользователя, которая является запускать его с достаточными привилегиями для привязки к портам 80 и 443. С точки зрения безопасности это не опасно, потому что iptables блокирует все остальные порты.

Какие команды я должен выполнить в Centos 6.4, чтобы позволить указанному пользователю без полномочий root напрямую прослушивать порты <1024?

Пожалуйста, не предлагайте радикальных решений, связанных с загрузкой (и компиляцией) материалов из случайные локации. Мне нужно что-то воспроизводимое, поэтому, если необходимо внести какие-либо зависимости, они должны быть получены из репозитория пакетов Centos.

-4
задан 6 June 2013 в 06:32
3 ответа

Инструмент authbind будет работать. Просто установите / распакуйте его и добавьте к своей команде. Для своей установки я отредактировал / usr / share / java-utils / java-functions и вызвал с ним $ JAVACMD, и он работал без проблем.

1
ответ дан 5 December 2019 в 22:06

Вы должны уметь использовать возможности (7) для этого. См., Например, https://stackoverflow.com/questions/413807/is-there-a-way-for-non-root-processes-to-bind-to-privileged-ports-1024-on-l/414258 # 414258 для получения большого количества информации.

Я не особо знаком с GlassFish, поэтому я оговорюсь с этим подходом, что вам может потребоваться предоставить возможность CAP_NET_BIND_SERVICE для Java в целом, что, конечно, было бы рискованно. Создание копии двоичного файла Java специально для этой цели является одним из вариантов (также несовершенным).

0
ответ дан 5 December 2019 в 22:06

Нет, вы не хотите этого делать.

Вместо этого выберите свой любимый веб-сервер (я предпочитаю nginx) и используйте его для прокси-запросов с порта 80 туда, где его слушает Glassfish.

Конфигурационные биты для этого очень просты, и вы получите гораздо более безопасную и более управляемую систему.

3
ответ дан 5 December 2019 в 22:06

Теги

Похожие вопросы