En la versión Jessie para Raspberry Pi, se ping
requiere establecer el setuid
bit. ¿Cuál es la razón de esto?
En la versión Jessie para Raspberry Pi, se ping
requiere establecer el setuid
bit. ¿Cuál es la razón de esto?
Respuestas:
ping necesita generar y recibir paquetes ICMP, y por lo general se hace usando "sockets sin procesar", una característica limitada a root (cap_net_raw) porque también se puede abusar para detectar e interrumpir otro tráfico en el sistema.
Muchas distribuciones ahora sólo dan ping a la CAP_NET_RAW privilegio (ver capabilities(7)
y getcap(8)
páginas de manual) en lugar de la plena setuid root. Sin embargo, esto necesita tanto el núcleo como el sistema de archivos para admitir atributos extendidos (xattrs), y algunos sistemas "mínimos" los desactivan.
Además, recientemente se agregó un tipo de socket especial "ICMP" que permite enviar mensajes de eco ICMP solamente, sin ningún privilegio adicional. Sin embargo, el comando ping aún no se ha actualizado.
getfattr --dump --match=.* /sbin/ping
.