Jak zezwolić użytkownikom innym niż root na słuchanie na uprzywilejowanym porcie?
11
Chcę, aby syslog działał jako użytkownik inny niż root na moim Linux-ie. Uniemożliwia to powiązanie z portem 514 - ponieważ jest to port uprzywilejowany. Czy jest jakiś sposób, aby przyznać użytkownikowi niebędącemu administratorowi „foo” możliwość nasłuchiwania na porcie 514?
Możesz skonfigurować rinetd(dostępne w większości, jeśli nie wszystkie, standardowe repozytoria dystrybucji), aby nasłuchiwał na porcie 514 i przekazywał połączenia do innego portu (powyżej 1024, powiedzmy 1514). W ten sposób nieuprzywilejowany proces użytkownika może nasłuchiwać w 1514 i rinetdprzekierowywać połączenia, więc wydaje się, że nasłuchuje w 514.
Działa to jednak tylko w przypadku połączeń TCP. Jeśli potrzebujesz obsługiwać UDP (lub cokolwiek innego) w ten sposób, jak również zamiast TCP, możesz użyć reguł translacji iptables, aby osiągnąć ten sam efekt.
Właśnie znalazłem bardzo dobrą dyskusję na ten temat tutaj: /programming/413807/is-there-a-way-for-non-root-processes-to-bind-to-privileged-ports-1024- on-li
Nie wygląda to łatwo
źródło
Nasłuchuj na nieuprzywilejowanym porcie i używaj iptables dnat do przekierowywania połączeń.
źródło