Fazendo cópia de / bin / ping exectuable

5

Eu copiei meu arquivo / usr / bin / ping para outro local (meu diretório pessoal) com apenas um comando típico cp /bin/ping p e ele parou de funcionar, porque a falta de permissões. Precisamente:

  

Ping: icmp open socket: Operação não permitida.

Eu sei que sudo preferiria resolver meu problema, mas eu não deveria fazer login como superusuário .
Eu também sei que é (provavelmente) tudo sobre a falta de algumas permissões ou capacidades (na verdade getcap para o meu arquivo copiado mostra que está faltando os recursos do ping original), mas infelizmente não consigo usar setcap sem raiz privilégios .. ou talvez eu sou? De alguma forma?

Como eu poderia resolver este problema e ser capaz de usar minha cópia do arquivo de ping ./p ?

    
por mtszkw 18.11.2015 / 17:11

2 respostas

10
-rwsr-xr-x 1 root root 44168 May  7  2014 /bin/ping

O s em rws significa ping é setuid. Quando você o executa, ele é executado como seu proprietário, root.

É assim que tem permissão para pingar. Você pode sudo setcap cap_net_raw=ep ./ping , mas, afinal, o ICMP está em "soquetes brutos", portanto, esse não é um número pequeno de operações. Isso permitiria que outro aplicativo falsificasse o tráfego de rede.

Para que isso seja "seguro" e ping, o arquivo deve ser de propriedade do root para impedir que o aplicativo seja editado por outros usuários.

Talvez o setcap permita que você especifique uma assinatura de hash para executável também.

    
por Oli 18.11.2015 / 17:18
4

Como notado por Oli , ping é setuid --- execute como root quando chamado.

No entanto , se você copiá-lo com

cp -a /usr/bin/ping ./myping

o alvo perderá o bit setuid --- você copia o arquivo, mas você só pode criar arquivos com as permissões do seu próprio usuário, e seu usuário normal não pode criar um binário raiz-setuid. Será um enorme buraco de segurança de outra forma (agora você pode modificar sua cópia de ping )!

Se você quiser manter o bit setuid, você deve copiar com sudo cp -a . Não há maneira de contornar isso, eu espero.

    
por Rmano 18.11.2015 / 17:40