Mengapa ping membutuhkan bit setuid?


Jawaban:


15

Ping perlu membuat dan menerima paket ICMP, dan biasanya itu dilakukan dengan menggunakan "soket mentah" - fitur yang terbatas pada root (cap_net_raw) karena juga dapat disalahgunakan untuk mengendus dan mengganggu lalu lintas lainnya pada sistem.

Banyak distribusi sekarang hanya memberikan ping hak istimewa cap_net_raw (lihat capabilities(7)dan getcap(8)halaman manual) alih-alih root setuid penuh. Namun ini membutuhkan kernel dan sistem file untuk mendukung atribut yang diperluas (xattrs), dan beberapa sistem "minimal" menonaktifkannya.

Juga, baru-baru ini jenis soket "ICMP" khusus telah ditambahkan yang memungkinkan pengiriman pesan ICMP Echo saja, tanpa hak istimewa tambahan. Perintah ping belum diperbarui untuk itu.


saya pikir kemampuan (7) tidak menggunakan xattrs.
ggg

2
@ Ggg: Tapi itu benar. Coba getfattr --dump --match=.* /sbin/ping.
user1686
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.