GNU/Linux >> Linux Esercitazione >  >> Linux

Sistema rotto dopo Chmod -r 644 /?

Uso debian jessie e ho commesso uno di quei brutti errori e ho rotto il mio sistema con un comando digitato male e errori peggiori che seguono in tali situazioni.

Cercando di correggere alcuni permessi ho usato erroneamente chmod in modo ricorsivo nella cartella principale:

# chmod -R 0644 /

e poi ho capito subito che mi sono precipitato a fare qualcosa per fermarlo, ma il sistema era bloccato e l'errore peggiore è stato il duro spegnimento del sistema.

Ora penso di avere qualche problema con il gestore utenti e dopo l'avvio con alcuni messaggi di "avvio del servizio non riuscito" non ho l'accesso utente Gnome e non posso anche accedere alla console. E questo è ciò che lampeggia più volte e poi rimane sullo schermo:

[ ok ] Created slice user-113.slice
       Starting user manager for UID 113...  
[ ok ] Started user manager for UID 113  
[ ok ] Stopped user manager for UID 113  
[ ok ] Removed slice user-113.slice 

Risposta accettata:

La buona notizia è che tutti i tuoi dati sono ancora lì. La notizia mista è che l'installazione del tuo sistema potrebbe essere recuperabile o meno, dipende da dove chmod fermato.

Sarà necessario avviare un sistema di ripristino per ripararlo. Dal sistema di salvataggio, monta la tua installazione non funzionante da qualche parte, ad esempio /mnt . Emetti i seguenti comandi:

chmod 755 /mnt
find /mnt -type d -perm 644 >/mnt/bad-permissions
find /mnt -type d -exec chmod 755 {} +

Il primo find comando salva un record di directory con permessi non validi in un file. Lo scopo è vedere dove sono state modificate le autorizzazioni. Il secondo find comando cambia tutte le directory in modo che siano accessibili pubblicamente.

Ora hai un sistema in cui tutte le directory sono elencate in /mnt/bad-permissions e tutti i file in queste directory sono leggibili dal mondo intero. Inoltre i file in queste directory non sono eseguibili. A seconda dei file interessati, questo potrebbe essere facilmente riparabile o meno. Vedi chmod / 777 impostato in modo errato. Problemi? per quello che puoi provare a rendere funzionante il sistema, a cui dovresti aggiungere

chmod a+x /bin/* /sbin/* /usr/bin/* /usr/sbin/* /lib*/ld-*

Ma anche se riesci a far funzionare qualcosa, c'è un alto rischio che alcune autorizzazioni siano ancora sbagliate, quindi ti consiglio di reinstallare un nuovo sistema, quindi di ripristinare i tuoi dati. Come posso replicare le selezioni dei pacchetti installati da un sistema Debian a un altro? (Debian Wheezy) dovrebbe aiutare.

Correlati:come svuotare la cache DNS di Safari su macOS Mojave senza riavviare il sistema?
Linux
  1. Come riparare il sistema operativo Ubuntu rotto senza reinstallarlo

  2. Come eseguire il Chmod senza /usr/bin/chmod?

  3. Inserire una nuova riga dopo una sequenza di numeri interrotta Scripting Awk/unix/shell?

  4. Ubuntu 16.04 Pacchetti rotti dopo una nuova installazione?

  5. Unity completamente rotto dopo l'aggiornamento a 12.10?

6 cose essenziali da fare dopo aver installato Manjaro Linux

Cose da fare dopo aver installato Ubuntu 20.04/22.04 LTS

Come riparare il sistema operativo Ubuntu rotto senza reinstallarlo

Come riparare il sistema operativo Ubuntu rotto senza reinstallare il sistema

20 migliori cose da fare dopo aver installato Fedora 23

Valore di ritorno di x =os.system(..)