非rootユーザーが特権ポートでリッスンできるようにする方法は?


11

Linuxボックスでsyslogを非rootユーザーとして実行したい。これにより、ポート514にバインドできなくなります。これは特権ポートであるためです。非管理者ユーザー "foo"にポート514でリッスンする機能を許可する方法はありますか?

回答:


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

非古代のLinuxカーネル(2.6.24以降)が必要です


3

rinetdポート514でリッスンし、他のポート(1024以上、1514など)に接続を転送するように(すべてではないにしても、ほとんどのディストリビューションの標準リポジトリで利用可能)構成できます。そのようにして、非特権ユーザープロセスは1514でリッスンでき、rinetd接続を転送するため、514でリッスンしているように見えます。

ただし、これはTCP接続でのみ機能します。この方法で、またはTCPの代わりにUDP(またはその他)をサポートする必要がある場合は、iptables変換ルールを使用して同じ効果を実現できます。


とても簡単でした。Ubuntuでそれを行う方法に関するガイドを次に示します。ubuntugeek.com
Ivan


2

特権のないポートでリッスンし、iptables dnatを使用して接続をリダイレクトします。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.