Cara port binding untuk proses bukan root

By | July 9, 2019

Kemarin malam saya belajar hal baru ketika mencoba Caddy web server, yakni di Linux sesungguhnya user/proses bukan root tak dapat menggunakan port dibawah 1024, istilah kerennya low ports. Ya… karena demikian tahun selalu gunakan repository dan gunakan root ketika memasangnya mungkin saya tak sadar bagaimana cara kerjanya. Ya, tercerahkan lagi jadinya. 😀

Misal program sahabat cara installnya tak standar lewat repo (seperti Caddy yang saya sedang dalami kini ini) karenanya port defaultnya pasti angkanya lumayan besar, dan karena yang akan saya gunakan ialah web server tentu mesti dapat port 80 (HTTP) dan 443 (HTTPS).

Nah kita perlu memberikan kemampuan bagi dengan petunjuk dibawah:

setcap 'cap_net_bind_service=+ep' ./caddy

Intinya program dengan nama caddy di lokasi aktif ketika itu kita beri hak istimewa bagi binding port berangka kecil. Lokasinya dapat terserah, misal /usr/local/bin/node bagi NodeJS.

Telah, demikian itu saja dan prosesnya telah dapat memakai port yang ditentukan tanpa perlu memakai root atau sudo setiap kali bekerja.

Atau sahabat dapat memastikannya dengan petunjuk ini:

getcap /usr/local/bin/caddy

Kalau sukses balasannya akan seperti ini:

/usr/local/bin/caddy = cap_net_bind_service+ep

Bagi mencabut kapabilitas yang kita berikan pun gampang:

setcap 'cap_net_bind_service=-ep' /usr/local/bin/caddy

Ya kita balik saja simbolnya bagi membatalkannya. 😀

Semoga bermanfaat. 🙂


Sumber https://servernesia.com