bash: sudo: comando não encontrado no OS X Lion

2

Isso me deixa perplexo.

sudo [any command here ]
bash: sudo: command not found

Eek!

Eu tentei desinstalar o Ruby Version Manager (não iria compilar o Ruby por algum motivo). Em algum lugar seguindo as instruções passo-a-passo, eu me tornei sem sudo.

Aqui está o meu $ PATH: /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

which sudo não retorna nada.

Eu pensei em tentar um tiro no escuro enquanto esperava. Eu tenho um Mac mais antigo que acabei de atualizar para o Lion há dois dias. Eu copiei seu /usr/bin/sudo para a máquina com problema. Agora, quando tento sudo , obtenho:

sudo: must be setuid root

Eu não sou particularmente experiente com a linha de comando - isso parece ruim.

    
por Matt H. 17.12.2011 / 11:58

3 respostas

3

Tente usar o Utilitário de Disco para reparar permissões de arquivo - com alguma sorte, isso deve redefinir o bit setuid no / usr / bin / sudo que você copiou. É um sinalizador que permite que o sudo aja como root mesmo quando não é executado como root, o que obviamente ele precisa ser capaz de fazer, mas você precisará do sudo para configurá-lo usando a linha de comando para ter um problema de galinha e ovo .

    
por 17.12.2011 / 12:37
1

Algum sudo desapareceu inteiramente? Você o substituiu pelo arquivo que obteve da outra máquina? Gostaria de saber como você conseguiu excluir sudo . O RVM é executado sem privilégios elevados e nunca deveria ter as permissões para fazer coisas assim.

De qualquer forma, tente restaurar a partir do seu último backup. Se você não tiver uma, então, corrija as permissões através do Disk Utility . Pode ajudar.

Você pode tentar inicializar o Mac no modo de usuário único. Faça isso mantendo Command-S durante a inicialização. Aqui, insira

mount -uw /

E tente chmodar o arquivo corretamente. Algo ao longo:

chown root /usr/bin/sudo 
chmod u+s /usr/bin/sudo

Se tudo isso falhar, basta reinstalar o Lion - é para isso que serve a recuperação. Não vai apagar seus arquivos. Você teria que limpar o disco para perder alguma coisa, mas eu recomendo strongmente fazer um backup.

    
por 17.12.2011 / 12:37
0

Eu vejo que a postagem de Mike Scott respondeu ao seu problema no sudo, mas também acertei o problema com o RVM não compilando o Rubies. Parece que a Apple mudou para usar o LLVM como o compilador padrão em 10.7 e assim vinculou o gcc ao llvm-gcc.

$ which gcc                                                                  
/usr/bin/gcc

$ ls -la /usr/bin/gcc                                                        
lrwxr-xr-x  1 root  wheel  12 30 Nov 13:40 /usr/bin/gcc -> llvm-gcc-4.2

O gcc ainda está lá, mas está em /usr/bin/gcc-4.2. Especificar o compilador C para usar definindo a variável de ambiente CC deve permitir que você compile rubis.

$ CC=/usr/bin/gcc-4.2 rvm install 1.9.2
    
por 18.12.2011 / 06:42