Na versão Jessie para o Raspberry Pi, ping
requer que o setuid
bit seja definido. Qual é a justificativa para isso?
fonte
Na versão Jessie para o Raspberry Pi, ping
requer que o setuid
bit seja definido. Qual é a justificativa para isso?
o ping precisa gerar e receber pacotes ICMP, e geralmente isso é feito usando "soquetes brutos" - um recurso limitado ao root (cap_net_raw) porque também pode ser usado para detectar e atrapalhar outro tráfego no sistema.
Muitas distribuições agora oferecem apenas o privilégio cap_net_raw (consulte as páginas de manual capabilities(7)
e getcap(8)
manual) em vez da raiz setuid completa. No entanto, isso precisa do kernel e do sistema de arquivos para suportar atributos estendidos (xattrs), e alguns sistemas "mínimos" os desabilitam.
Além disso, recentemente foi adicionado um tipo de soquete "ICMP" especial que permite enviar apenas mensagens de eco ICMP, sem privilégios adicionais. O comando ping ainda não foi atualizado para ele.
getfattr --dump --match=.* /sbin/ping
.