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?

Odpowiedzi:


10
setcap 'cap_net_bind_service=+ep' /path/to/syslogd

Wymaga nie starożytnego jądra Linuxa ( 2.6.24 lub nowszego)


3

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.


Och, to było takie proste. Oto przewodnik, jak to zrobić w Ubuntu: ubuntugeek.com/…
Ivan


2

Nasłuchuj na nieuprzywilejowanym porcie i używaj iptables dnat do przekierowywania połączeń.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.