O eroare clasică
Din greșeală am făcut-o sudo chown -R ubuntu:www-data /
pe un server ubuntu 20.04 AWS EC2. Deși există multe postări care indică faptul că nu pot salva mașina și trebuie să reinstalez una nouă - vreau să fac o copie a postgresului care rulează pe acest server. Momentan nu am putut face nicio comandă cu un sudo. Prin urmare, nu am putut porni postgres sau autentifica prin phppgadmin.
Am făcut următoarele:
- A oprit instanța
- A detașat volumul
- A creat o instanță nouă
- Atasat volumul
- Am montat volumul
- Schimbat la root în noua instanță
- făcut
chown -R root:root /mnt/rescue
(schimbat asta în root:ubuntu
, ubuntu:ubuntu
, etc)
- făcut
chmod -R 4755 /mnt/rescue
(a facut si 0755
, ug-s
, etc)
- S-a ieșit din rădăcină
umount /mnt/rescue
- Închideți instanța de salvare
- Detașează volumul
- Atașați volumul la mașina coruptă. Aparatul indică noul proprietar - dar sudo nu funcționează.
- Am încercat să creăm o instanță nouă - atașând acest volum corectat, /etc/fstab actualizat - reporniți instanța. Am fuzionat volumul cu aparatul. După repornire - încă aceeași problemă - nu se poate face sudo.
Cu siguranță putem recrea mașina sau putem face backup și restaura. Cu toate acestea, unele date critice de misiune se află în postgres. Cum fac sudo sau preiau fișiere dintr-un postgres mort.
Ne confruntăm în mod constant cu eroarea:
sudo: /usr/bin/sudo trebuie să fie deținut de uid 0 și să aibă setat bitul setuid
totuși, când fac ls -l oriunde din interiorul /usr sau /usr/bin - întreaga proprietate a întregului fișier rămâne cu ubuntu:ubuntu sau alte combinații pe care le-am încercat.