Как я могу запустить hudson под tomcat как пользователь без полномочий root?

В настоящее время мой tomcat работает от имени пользователя root, потому что он связывается с портом 80.

Я хочу запустить Hudson как пользователь без полномочий root внутри tomcat. Как мне это сделать?

Я ищу решение, которое бы не требовало от меня добавления прокси-сервера Apache через Tomcat.

2 ответа

Решение

Хорошо , только root может связываться с портами le 1024. вероятно, нет никакого механизма отбрасывания privs в java/jvm после связывания с портами суперпользователя, в противном случае это будет сделано сейчас в tomcat. я и другие делали так, чтобы tomcat слушал непривилегированный порт и перенаправлял трафик порта 80 на этот порт с помощью правила брандмауэра.

Вы можете перенаправить порт 80 на 8080 или любой другой, используя iptables, например так:

iptables -t nat -A PREROUTING -p tcp -d second_ip --dport 80 -j REDIRECT --to-port 8080

Это более общий, но если у вас есть только один IP-адрес, удалите IP-адрес назначения (-d second_ip).

Другие вопросы по тегам