sudo: uid eficaz não é 0, é sudo instalado root setuid?

0

Eu estava tentando remover algumas pastas (python) via sudo rm no Terminal e recebi esta mensagem:

sudo: effective uid is not 0, is sudo installed setuid root?

Eu já tentei verificar / reparar permissões de disco (só mostra um erro, o agente remoto da Apple), mas isso não ajudou.

$ sudo
sudo: effective uid is not 0, is sudo installed setuid root?

$ type sudo
sudo is hashed (/usr/local/bin/sudo)

$ ls -@@eil /usr/bin/sudo
2215747 -r-s--x--x  1 root  wheel  164560 Sep 10  2014 /usr/bin/sudo

$ md5 /usr/bin/sudo
md5: /usr/bin/sudo: Permission denied

OS X 10.10.4

semml
fonte
Por favor, adicione em sua pergunta original (OQ) qual versão do MacOS X você tinha esta mensagem de erro.
daniel Azuelos
1
Tem certeza de que deseja usar este /usr/local/bin/sudo↵ Você conhece a sua origem? ↵ Você instalou?
daniel Azuelos
Eu não sei de onde veio, talvez homebrew, mas eu deletei, agora os x está usando o caminho certo, obrigado por ajudar!
semml
A data de modificação pode ter ajudado você. Esta será para outra pergunta na próxima vez que você acertar um binário não sendo aquele que você pensa.
daniel Azuelos

Respostas:

1

Por qualquer motivo, você tem um sudo instalado em /usr/local/bin (veja a saída de type ). Você instalou algo com homebrew ou outro gerenciador de pacotes?

Para corrigir, execute

/usr/bin/sudo mv /usr/local/bin/sudo /usr/local/bin/sudo-strange

ou (se você quiser se livrar dele completamente)

/usr/bin/sudo rm /usr/local/bin/sudo
nohillside
fonte
obrigado, sim, eu fiz alguma instalação com homebrew (python etc), eu fiz o que você escreveu, mas como eu digo os x agora para usar / usr / bin / sudo como padrão? @patrix
semml
1
Depois de renomear / remover o sudo em /usr/local/bin, as coisas devem voltar ao normal. Você também pode correr hash -r fazer a concha esquecer a localização de sudo.
nohillside
Sinta-se à vontade para pegar emprestada a parte útil da minha resposta (que não foi completa) para completar a sua. Eu removerei minha resposta.
daniel Azuelos
0

Seu comando /usr/bin/sudo não está sendo executado com os modos de acesso corretos ou você não está executando o sudo você pensa.

Para ajudá-lo a identificar a natureza exata do que está errado, execute os seguintes comandos em um Terminal:

type sudo

(para verificar se você está usando o verdadeiro sudo sem qualquer subcamação interveniente)

ls -@eil /usr/bin/sudo

(para verificar modos, proprietário, grupo e lista de acesso estendido do binário correto)

/usr/bin/sudo md5 /usr/bin/sudo

(para verificar que ninguém mexeu com o seu binário sudo ).

daniel Azuelos
fonte
editado novamente, não usei digite sudo , parece que estou usando um sudo errado (deveria estar em outra pasta, certo?) @daniel
semml
Certo! (+ lixo para o robô)
daniel Azuelos