Sesekali, saya akan mencari cara melakukan izin tingkat pengguna untuk akses port jaringan di Linux dan muncul agak kering. Misalnya, jika Anda memiliki mesin yang menjalankan proses kritis yang mendengarkan pada port 5080, saya merasa harus ada cara untuk memberikan hanya satu set pengguna yang dipercaya akses ke port itu - sama seperti bagaimana proses izin waras lainnya selesai, seperti izin filesystem.
Tapi sepertinya port tinggi tersedia untuk semua pengguna, dan port rendah hanya tersedia untuk di-root, dengan hanya peretasan kasar seperti authbind dan penerusan dengan iptables untuk memungkinkan pengguna lain menggunakan port rendah. Sepertinya ini adalah situasi yang sangat aneh, jadi saya bertanya-tanya, mengapa itu dirancang seperti itu dan mengapa orang tidak merasa perlu mengubah situasi itu?
Awalnya, saya kira, karena itu akan membutuhkan desain yang rumit yang tidak sesuai dengan ruang lingkup sistem Unix awal.
Kemudian, saya kira, karena ada cara yang ditetapkan untuk mengimplementasikan izin port jaringan tingkat pengguna untuk kasus-kasus umum: inetd , yang muncul sekitar beberapa tahun setelahnya ( 4.3BSD ) TCP / IP ( 4.2BSD ). The
inetd
daemon berjalan sebagai root dan mendengarkan pada port yang ditentukan dalam file konfigurasi. Setelah koneksi masuk,inetd
memunculkan program lain yang ditentukan dalam file konfigurasinya, dan yang berjalan sebagai pengguna juga ditentukan dalam file konfigurasi inetd. Jadi, setidaknya untuk layanan di mana dapat diterima untuk memulai proses baru pada setiap koneksi, masalahnya terpecahkan.sumber
Saya pikir salah satu alasannya adalah sebagian besar pengguna harus dapat menggunakan porta fana untuk menghubungkan ke server lain, tanpa harus menjadi root.
sumber