Как я могу запустить 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).