De repente, não é possível executar o sudo


4

Não fiz nada no computador, exceto a Internet, por alguns dias e, de repente, quando tentei:

$ 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, a última vez que me lembro de correr sudofoi quando atualizei.


Você poderia editar a saída de mountsua pergunta, por favor?
Oli

Veja se este tópico pode ajudar
Bilal

Respostas:


3

sudofunciona com um mecanismo chamado setuid ( Definir ID do usuário ou também chamado 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 rootusuário).

Isso significa que sudo é executado como root. Por enquanto, tudo bem. Mas agora nada impede que você insira uma unidade USB com um shell, 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 mount noexec, para impedir a execução de binários / scripts em um dispositivo desse tipo. Outra opção de montagem, se você ainda quiser executar arquivos, é aquele que é mencionado na mensagem de erro na sua pergunta: nosuid.

Veja o trecho da página do manual de montagem :

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

Com o mountcomando, você pode determinar se o seu 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 suidopção, que é exatamente o oposto de nosuid.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.