Wie kann ein Benutzer ohne Rootberechtigung den privilegierten Port abhören?
11
Ich möchte, dass Syslog als Nicht-Root-Benutzer auf meiner Linux-Box ausgeführt wird. Das macht es unmöglich, sich an Port 514 zu binden - denn das ist ein privilegierter Port. Gibt es eine Möglichkeit, Nicht-Administrator-Benutzern "foo" die Möglichkeit zu geben, Port 514 abzuhören?
Sie können konfigurieren rinetd(verfügbar in den meisten, wenn nicht allen Standard-Repositorys der Distribution), Port 514 abzuhören und Verbindungen an einen anderen Port weiterzuleiten (über 1024, z. B. 1514). Auf diese Weise kann der nicht privilegierte Benutzerprozess 1514 abhören und rinetdleitet Verbindungen weiter, sodass er anscheinend 514 abhört.
Dies funktioniert jedoch nur für TCP-Verbindungen. Wenn Sie UDP (oder etwas anderes) auf diese Weise sowie oder anstelle von TCP unterstützen müssen, können Sie die Übersetzungsregeln von iptables verwenden, um den gleichen Effekt zu erzielen.
Ich habe gerade eine sehr gute Diskussion darüber gefunden: /programming/413807/is-there-a-way-for-non-root-processes-to-bind-to-privileged-ports-1024- on-li
Sieht nicht einfach aus
quelle
Lauschen Sie einem nicht privilegierten Port und verwenden Sie iptables dnat, um Verbindungen umzuleiten.
quelle