Bagaimana mengizinkan pengguna non-root untuk mendengarkan pada port istimewa?
11
Saya ingin syslog dijalankan sebagai pengguna non-root di kotak linux saya. Itu membuatnya tidak mungkin untuk mengikat ke port 514 - karena itu port istimewa. Apakah ada cara saya bisa memberi pengguna non-admin "foo" kemampuan untuk mendengarkan pada port 514?
Anda dapat mengkonfigurasi rinetd(tersedia di sebagian besar, jika tidak semua, repositori standar distribusi) untuk mendengarkan pada port 514 dan meneruskan koneksi ke beberapa port lain (di atas 1024, katakan 1514). Dengan begitu proses pengguna yang tidak memiliki hak istimewa dapat mendengarkan pada 1514 dan rinetdakan meneruskan koneksi sehingga tampaknya mendengarkan pada 514.
Ini hanya akan bekerja untuk koneksi TCP. Jika Anda perlu mendukung UDP (atau apa pun) dengan cara ini serta atau bukannya TCP, maka Anda dapat menggunakan aturan terjemahan iptables untuk mencapai efek yang sama.
Baru saja menemukan diskusi yang sangat baik tentang ini di sini: /programming/413807/is-there-a-way-for-non-root-processes-to-bind-to-privileged-ports-1024- on-li
Tidak terlihat mudah
sumber
Dengarkan pada port yang tidak terjangkau dan gunakan iptables dnat untuk mengarahkan ulang koneksi.
sumber