![Não é possível sudo - Ubuntu 20.04](https://rvso.com/image/768929/N%C3%A3o%20%C3%A9%20poss%C3%ADvel%20sudo%20-%20Ubuntu%2020.04.png)
Um erro clássico
Por engano, fizemos sudo chown -R ubuntu:www-data /
em um servidor Ubuntu 20.04 AWS EC2. Embora existam muitas postagens que indicam que não consigo salvar a máquina e preciso reinstalar uma nova - quero fazer uma cópia do postgres que roda neste servidor. Atualmente não conseguimos executar nenhum comando com sudo. Portanto, não foi possível iniciar o postgres ou fazer login através do phppgadmin.
Fizemos o seguinte:
- Parou a instância
- Desanexe o volume
- Criou uma nova instância
- Anexo o volume
- Montei o volume
- Alterado para root na nova instância
- fez
chown -R root:root /mnt/rescue
(mudou pararoot:ubuntu
,ubuntu:ubuntu
, etc) - fez
chmod -R 4755 /mnt/rescue
(também fez0755
,ug-s
etc) - Saiu da raiz
umount /mnt/rescue
- Feche a instância de resgate
- Desconecte o volume
- Anexe o volume à máquina corrompida. A máquina indica o novo proprietário - mas o sudo não funciona.
- Tentamos criar uma nova instância - anexando este volume corrigido, atualizando /etc/fstab - reinicializando a instância. Conseguimos mesclar o volume com a máquina. Após a reinicialização - ainda o mesmo problema - não é possível fazer o sudo.
Certamente podemos recriar a máquina ou fazer backup e restaurá-la. No entanto, alguns dados de missão crítica residem no postgres. Como faço para sudo ou recupero arquivos de um postgres morto.
Estamos constantemente enfrentando o erro:
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
no entanto, quando eu faço ls -l qualquer lugar dentro de /usr ou /usr/bin - toda a propriedade de todo o arquivo permanece com ubuntu:ubuntu ou outras combinações que tentamos.
Responder1
Tente definir o bit setuid e torná-lo executável para root, que é a permissão padrão (rws) para sudo
chmod u+s /mnt/rescue/usr/bin/sudo
chmod +x /mnt/rescue/usr/bin/sudo
Embora isso possa ser útil para restaurar o sistema, existem muitos outros arquivos e diretórios que possuem diferentes permissões e propriedades, e configurá-los individualmente pode ser entediante.