Dans la version Jessie pour le Raspberry Pi, ping
le setuid
bit doit être défini. Quelle en est la raison?
Dans la version Jessie pour le Raspberry Pi, ping
le setuid
bit doit être défini. Quelle en est la raison?
Réponses:
ping doit générer et recevoir des paquets ICMP, et généralement cela se fait en utilisant des "sockets bruts" - une fonctionnalité limitée à root (cap_net_raw) car elle pourrait également être utilisée abusivement pour renifler et perturber le reste du trafic sur le système.
De nombreuses distributions donnent désormais à ping le privilège cap_net_raw (voir les pages de manuel capabilities(7)
et getcap(8)
) au lieu de root setuid complet. Cela nécessite cependant à la fois le noyau et le système de fichiers pour prendre en charge les attributs étendus (xattrs), et certains systèmes "minimaux" les désactivent.
En outre, récemment, un type de socket "ICMP" spécial a été ajouté qui permet d'envoyer des messages ICMP Echo uniquement, sans aucun privilège supplémentaire. Cependant, la commande ping n'a pas encore été mise à jour.
getfattr --dump --match=.* /sbin/ping
.