1. Perché non hai una password di root
Mentre puoi creare una password per l'account superutente che ti consenta di accedere come root su
, vale la pena ricordare che questo non è il solito modo di fare le cose con Ubuntu (o, sempre più, anche con altre distribuzioni). Ubuntu ha scelto di non fornire un account di accesso e una password di default per una ragione. Invece, verrà utilizzata un'installazione predefinita di Ubuntu sudo
per fornire privilegi di superutente. In un'installazione predefinita di Ubuntu, alla persona che ha installato il sistema operativo viene concessa l'autorizzazione "sudo" per impostazione predefinita.
Chiunque disponga dell'autorizzazione "sudo" completa può eseguire qualcosa "come superutente" anticipando il sudo
proprio comando. Ad esempio, per essere eseguito apt-get dist-upgrade
come superutente, è possibile utilizzare:
sudo apt-get dist-upgrade
Vedrai questo utilizzo di sudo praticamente ovunque leggi un tutorial su Ubuntu sul web. È un'alternativa a farlo.
su
apt-get dist-upgrade
exit
Con sudo, puoi scegliere in anticipo quali utenti hanno accesso a sudo. Non è necessario che ricordino una password di root, poiché usano la propria password. Se hai più utenti, puoi revocare l'accesso al proprio superutente semplicemente rimuovendo la loro autorizzazione sudo, senza dover cambiare la password di root e avvisare tutti di una nuova password. Puoi anche scegliere quali comandi è consentito ad un utente usando sudo e quali comandi sono proibiti per quell'utente. Infine, in caso di violazione della sicurezza, in alcuni casi può lasciare una traccia di controllo migliore che mostra quale account utente è stato compromesso.
Sudo semplifica l'esecuzione di un singolo comando con privilegi di superutente. Con su
, si passa permanentemente a una shell superutente che deve essere chiusa usando exit
o logout
. Questo può portare le persone a rimanere nella shell del superutente più a lungo del necessario solo perché è più conveniente che disconnettersi e riconnettersi più tardi.
Con sudo, hai ancora la possibilità di aprire una shell superutente permanente (interattiva) con il comando:
sudo su
... e questo può ancora essere fatto senza alcuna password di root, perché sudo
dà i privilegi di superutente al su
comando.
E allo stesso modo, invece che su -
per una shell di login puoi usare sudo su -
o il suo collegamento sudo -i
.
Tuttavia, quando lo fai, devi solo essere consapevole che stai agendo come un superutente per ogni comando. È un buon principio di sicurezza non rimanere come superutente più a lungo del necessario, solo per ridurre la possibilità di causare accidentalmente alcuni danni al sistema (senza di essa, è possibile danneggiare solo i file di proprietà dell'utente).
Giusto per chiarire, è possibile , se si sceglie, darà l'utente root di una password che consente login come root come descritto nel @ risposta di Oli, se specificatamente vuole fare le cose in questo modo, invece. Volevo solo farti conoscere la convenzione di Ubuntu di preferire sudo
invece e farti sapere che esiste un'alternativa.
2. I problemi con il comando chmod 777 -R
La tua domanda ha anche una seconda parte: i tuoi problemi con il comando sudo chmod 777 -R foobs
.
Innanzitutto, il seguente avviso indica un problema di sicurezza potenzialmente grave sul computer:
sudo: /var/lib/sudo writable by non-owner (040777), should be mode 0700
Ciò significa che ad un certo punto, hai impostato /var/lib/sudo
per essere scrivibile dal mondo. Immagino che tu l'abbia fatto ad un certo punto usando un comando simile sudo chmod 777 -R /
. Sfortunatamente, facendo questo probabilmente hai praticamente rotto tutte le autorizzazioni per i file in tutto il tuo sistema. È improbabile che questo sia l'unico file di sistema importante le cui autorizzazioni sono state modificate per essere scrivibili in tutto il mondo. Essenzialmente ora hai un sistema facilmente hackerabile e l'unico modo semplice per ripristinarlo sarebbe reinstallare.
In secondo luogo, il comando che stavi usando:
sudo chmod 777 -R foobs
Quando si manipolano i file all'interno della propria directory home, in questo caso in ~/Desktop
, non è necessario utilizzare sudo
. Tutti i file che crei nella tua home directory dovrebbero essere comunque modificabili da te (e, in caso contrario, sta succedendo qualcosa di divertente).
Inoltre, devi essere pienamente consapevole delle conseguenze della modifica dei permessi dei file in massa, come farlo in modo ricorsivo o su un numero enorme di file. In questo caso, stai modificando attentamente le autorizzazioni per i file in modo che siano scrivibili in tutto il mondo. Qualsiasi altro utente, o qualsiasi software server buggy sulla macchina, può avere un facile accesso per sovrascrivere tutti questi file e directory.
E 'quasi certo che chmod 777 -R [dir]
si tratta non è una soluzione adeguata per qualunque problema si stava tentando di risolvere (e come ho già detto, ci sono prove che avete fatto per i file di sistema in / var / lib troppo, e presumo a un sacco di altre posti).
Un paio di regole empiriche di base:
Se stai solo scherzando con i tuoi file nella tua home directory, desktop ecc., Non dovresti mai avere bisogno di usare sudo
o diritti di superutente. Se lo fai, è un segnale di avvertimento che stai facendo qualcosa di sbagliato.
Non modificare mai manualmente i file di sistema di proprietà dei pacchetti. Eccezione: a meno che tu non lo stia facendo specificamente nei modi documentati da quei pacchetti, ad esempio modificando la loro configurazione in /etc
. Questo vale anche per la modifica delle autorizzazioni dei file. Se un tutorial o un tentativo di risolvere il problema richiede sudo
diritti o superutente, e non è semplicemente una modifica a una configurazione in / etc /, è un segnale di avvertimento che stai facendo qualcosa di sbagliato.
chmod -R 777 whatever
, a meno che tu non voglia causare un enorme rischio per la sicurezza.