Ping neden setuid bitini gerektirir?


Yanıtlar:


15

ping'in ICMP paketleri üretmesi ve alması gerekir ve bu genellikle sistemdeki diğer trafiği koklamak ve bozmak için kötüye kullanılabileceği için kök (cap_net_raw) ile sınırlı bir özellik olan "ham soketler" kullanılarak yapılır.

Birçok dağıtım şimdi tam setuid kökü yerine ping'e cap_net_raw ayrıcalığını (bkz. capabilities(7)Ve getcap(8)manuel sayfalar) vermektedir. Ancak bu, genişletilmiş öznitelikleri (xattr) desteklemek için hem çekirdeğe hem de dosya sistemine ihtiyaç duyar ve bazı "minimum" sistemler bunları devre dışı bırakır.

Ayrıca, yakın zamanda özel bir "ICMP" soket türü eklenmiş ve ek bir ayrıcalık olmadan yalnızca ICMP Yankı mesajlarının gönderilmesine izin verilmiştir. Ping komutu henüz bunun için güncellenmedi.


bence yetenekler (7) xattrs kullanmıyor.
ggg

2
@ggg: Ama oluyor. Deneyin getfattr --dump --match=.* /sbin/ping.
user1686
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.