Tengo una pregunta muy profunda aquí que espero que alguien pueda responder. En MacOS, los usuarios habituales pueden hacer ping además de a Root. Normalmente, el acceso a Root es necesario para abrir el enchufe crudo necesario para ejecutar el ping. He notado en Linux que esto usualmente se logra agregando atributos extendidos al archivo del programa ping para permitir el acceso a nivel de root para abrir sockets crudos (en el pasado, esto se hacía con sólo establecer el bit setuid en el programa ping, permitiéndole hacer cualquier cosa en su programación como root).
He mirado /sbin/ping en MacOS (High Sierra, específicamente), y no se establecen tales atributos, y tampoco se establece. Entonces, ¿qué está haciendo MacOS para permitir a los usuarios Estándar (no-Root) hacer ping? ¿Están enviando paquetes ICMP a través de TCP o UDP? Si es así (o si hay otro mecanismo que me falta por completo), ¿puede indicarme algunos documentos? Cualquier ayuda sería apreciada.
0 votos
El ICMP está un nivel por debajo de la capa de transporte (TCP, UDP...).
2 votos
Podrías documentar "normalmente, se requiere acceso Root para abrir el socket raw". Esto parece ser simplemente que MacOS no cumple con sus expectativas y me gustaría evitar cerrar esto como poco claro / buscando referencias fuera del sitio. Simplemente, el modelo de seguridad no requiere las prohibiciones que eligió Linux.
0 votos
¿Preguntas cómo hacer ping como usuario estándar o cómo Apple permite hacer ping a los usuarios estándar? Sólo para que quede claro.
0 votos
@bmike - No estoy seguro de lo que quieres decir con "buscar referencias fuera del sitio". No he visto ninguna regla en Stack Exchange que prohíba/desaconseje enlazar a otros sitios. Al contrario, es una práctica común y útil. Tal vez estoy malinterpretando tu declaración, así que si tienes un enlace (en el sitio) que explique esa y otras reglas que necesito saber, te lo agradecería.