Risolve un disastro di autorizzazione Ubuntu Linux nella directory `/`


3

Ho appena trascorso gran parte della giornata a configurare un server Ubuntu 12.10 e mi sono davvero divertito. Sono stato abbastanza stupido da fare:

sudo chmod 666 /*

invece del altrettanto sospetto

sudo chmod 666 ./*

Non posso usare nessun programma sul sistema ora

Non ho ancora impostato una password di root, quindi ora avrei davvero desiderato essere su CentOS: '(

C'è qualcosa che posso fare senza ricominciare? Grazie in anticipo!


1
Solo per riferimento futuro, non è mai necessario utilizzare ./*, il semplice *sarà sufficiente ed è meno incline a errori di battitura.
terdon,

Avere un utente root non avrebbe aiutato nella tua situazione.
Sepero

Risposte:


7

Devi avviare da un cd live, perché tutti i tuoi eseguibili non sono raggiungibili in questo momento (bit di accesso rilasciato nelle directory /bin, ...).

Per favore fallo:

  1. avvio da un cd live
  2. montare il sistema di seguito mnt, non dimenticare di aggiungere supporti aggiuntivi come /usr, /var, ...
  3. cd /mnt/
  4. for d in * ; do if [ -d ${d} ] ; chmod u+rwx,og+rx-w ${d}; fi
  5. chmod og= root lost+found # more restrictive permissions
  6. riavviare il sistema e bere una birra :-)

avvertenza: questo si applica alla directory principale /che normalmente consiste solo di sottodirectory e collegamenti simbolici.


Grazie mille, ci sto provando adesso. Suppongo che sia una soluzione così logica che non ci ho pensato davvero!
Cobolt

2
@Cobolt - benvenuto :-) Sii felice e pensa cosa sarebbe successo se avessi aggiunto anche l' -Rinterruttore a chmod;-)

Ha funzionato come un fascino! Grazie. Penso che sia ora di imparare bash scripting, php / perl non mi rende abbastanza amministratore di sistema. Grazie ancora!
Cobolt
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.