Як дозволити користувачеві, що не користується коренем, слухати привілейований порт?


11

Я хочу, щоб syslog запускався як некореневий користувач у моєму вікні linux. Це унеможливлює прив'язку до порту 514 - адже це привілейований порт. Чи є якийсь спосіб я надати користувачеві, який не адміністратор "foo", можливість слухати на порту 514?

Відповіді:



3

Ви можете налаштувати rinetd (доступний у більшості, якщо не у всіх стандартних сховищах дистрибутива) для прослуховування через порт 514 та переадресацію з'єднань на якийсь інший порт (вище 1024, скажімо, 1514). Таким чином, непривілейований користувальницький процес може прослуховувати на 1514 та rinetdпередаватиме з'єднання, тому він, здається, слухає 514.

Це працюватиме лише для TCP-з'єднань. Якщо вам потрібно підтримувати UDP (або що-небудь інше) таким чином, а також замість TCP, то ви можете використовувати правила перекладу iptables для досягнення того ж ефекту.


О, це було так просто. Ось посібник про те, як це зробити в Ubuntu: ubuntugeek.com/…
Іван


2

Слухайте на непривілейованому порту та використовуйте iptables dnat для перенаправлення з'єднань.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.