De repente não pode rodar sudo

4

Eu não fiz nada no computador, exceto na Internet por alguns dias e, de repente, quando tentei fazer:

$ sudo apt-get update 

Eu tenho:

sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the 'nosuid' option set
      or an NFS file system without root privileges?

Não faço ideia do que aconteceu, da última vez que lembro de ter corrido sudo quando atualizei.

    
por InvisibleUn1corn 19.05.2015 / 10:07

1 resposta

3

sudo funciona com um mecanismo chamado setuid ( Set ID do usuário , ou também chamado de suid ). Se esse bit estiver definido em um arquivo executável (como sudo ), o aplicativo será executado sob as permissões do usuário, que é o proprietário desse arquivo (no caso de sudo , o proprietário é o root usuário).

Isso significa que o sudo é executado como root . Por enquanto, tudo bem. Mas, agora, nada impede que você insira uma unidade USB com um shell nela, que tenha o bit setuid definido. Você tem acesso root completo! É por isso que normalmente as unidades USB são montadas com a opção de montagem noexec , para evitar a execução de binários / scripts em tal dispositivo. Outra opção de montagem, se você ainda deseja executar arquivos, é aquela mencionada na mensagem de erro em sua pergunta: nosuid .

Veja o excerto da página de manual de montagem :

[...]
nosuid     Do not allow set-user-identifier or set-group-identifier bits to take effect.
[...]

Com o comando mount , você pode determinar se o sistema de arquivos raiz está montado com essa opção. Basta digitar:

$ mount

Agora você pode remontar o sistema de arquivos on-the-fly e alterar as opções de montagem:

$ mount -n -o remount,suid /

Isso define a opção suid , que é exatamente o oposto de nosuid .

    
por chaos 19.05.2015 / 11:11