Mensagem sudo: /usr/bin/sudo deve ter como dono o uid 0 e tem definido o bit setuid Ubunto 20.04

Olá a todos,

Sou iniciante em linux, mudei porque a escola de programação que estou em processo seletivo me pediu para preparar o notebook para os estudos e isto inclui usar o linux Ubuntu

Estou com uma situação que esta ocorrendo em alguns casos.

Estava com problemas de permissões e sistema informando que eu não era proprietário do meu próprio notebook (hehehe), ai achei que mudando permissões udo resolveria, mais não foi bem assim.

Quando eu tento dar o comando sudo chmod 777 htdocs -R por exemplo ele retorna com a mensagem sudo: /usr/bin/sudo deve ter como dono o uid 0 e tem definido o bit setuid, porém é estranho, porque eu já dei permissões teoricamente completas para a pasta raiz (no caso tanto a / quanto na opt), logo estas permissões não deveria se propagar para as pastas filhos?

Outra coisa é que acredito que devo ter feito alguma %$##%@%@% grande, todos os comando que eu dou agora retorna a mensagem sudo: /usr/bin/sudo deve ter como dono o uid 0 e tem definido o bit setuid, um simples sudo apt update esta retornando esta mensagem.

O que fazer? Formatar e reinstalar tudo novamente? Tem outra saída?

Obrigado a todos

1 curtida

vc não pode alterar as permissões da /, pq cada pasta dentro dessas subpastas tem “suas próprias permissões”, umas tem 600, outras 666, outras 0755, outras 4755, alterar todas as permissões pra qualquer outra é estrago, e é um estrago enorme

nesse caso ai é mais fácil reinstalar mesmo

(a, só pra avisar, sim, quando vc usa o -R as permissões são aplicadas as subpastas)

Sugestão extraída do SuperUser. Usando um sistema live num pendrive, CD ou DVD, monte em “/mnt” a raiz do Ubuntu, na qual você destruiu as permissões com o chmod, e rode os comandos:

  1. cd /mnt/
  2. for d in * ; do if [ -d ${d} ] ; chmod u+rwx,og+rx-w ${d}; fi
  3. chmod og= root lost+found # more restrictive permissions

nunca fuce nas permissões do sudoers. faça: sudo cp /etc/sudoers /etc/sudoers_original e restaure o becape se tiver necessidade.

conserte dessa forma:

$ su -
# chown root:root /etc/sudoers
# chmod 0440 /etc/sudoers

Digite esses comandos um após o outro e veja se funciona:

su (Depois coloque a senha do root)
chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo
exit

Depois reinicie e veja se ficou normal.

Só comecei a mexer no sudoers depois que instalei o Arch, antes dele não é recomendado usar mesmo.

Nem no Arch é recomendado, se quiser mexer no sudores, use o comando visudo

Weird, quando eu instalei o Arch editei o /etc/sudoers e sempre deu certo.
Mas usar o visudo também é uma boa.

1 curtida

Uma explicação mais densa:

Na verdade não se referia a você, mas ao seu usuário, apenas o root é dono de quase tudo, seu usuário é dono apenas da sua pasta pessoal

No geral, você nem deveria fazer isso, esse comando vai permitir que qualquer usuário faça qualquer coisa nesse diretório

Isso acontece, porque você fez isso:

Esse efeito não é estranho, na verdade, é o efeito esperado, dando permissões 777 pro sudo e pro sudores, basicamente qualquer usuário pode se lançar como root no sistema e destruir ele, então o sudo barra sua própria execução pra prevenir ataques mais simples

Seria o ideal e não rodar mais chmod ou chown recursivamente em pastas do sistema

Mas sim, tem:

  1. Reinicie o PC segurando a tecla Shift até o menu do GRUB aparecer

  2. Selecione o sistema com problemas e pressione a tecla “E”

  3. no final da linha adicione " init=/bin/bash" note que tem um espaço antes de init

  4. Pressione Enter e a tecla B

Se tudo ocorreu bem, você deve estar num shell do bash, agora execute esses passos para restaurar as permissões corretas:

  1. Restaure o sudo com:

chown root:root /usr/bin/sudo

chmod 4755 /usr/bin/sudo

  1. Restaure o sudores:

chown root:root /etc/sudoers

  1. Reinicie

reboot

Quando reiniciar, execute:

sudo chown -R root:root /usr /bin /lib /lib64 /var /etc /opt /root

chmod 4755 /usr/bin /bin /sbin /usr/sbin /usr/libexec /usr/local/bin /usr/local/sbin /lib64

Pode ignorar erros de “diretório não encontrado”


Dependendo do estrago, isso vai deixar o sistema no modo “minimamente funcional”, porém essa é a melhor solução possível dentro de padrões humanos sem envolver um sistema live que você provavelmente não vai conseguir sob efeito 777

1 curtida

Dá pra editar com tee tb mas não é recomendável, visudo é a solução oficial dos devs por assim dizer

Olá pessoal, primeiramente desculpa a demora em responder, mais vi todas as mensagem, já aprendi um pouco mais do linux somente com as mensagens.

Acabei por formatar e reinstalar ele novamente, já em seguida no mesmo dia, acreditei que seria mais simples já que fazia poucos dias que eu tinha iniciado ele, contudo se vou utiliza-lo no meu dia a dia daqui para frente, preciso saber como não fazer %$%$$¨¨$$&% nele, hehehe.

Obrigado a todos pelas dicas.

1 curtida