Perché non dovresti accedere al tuo sistema Linux come root
Su Linux, l'utente root è equivalente all'utente amministratore su Windows. Tuttavia, mentre Windows ha da lungo tempo una cultura di utenti medi che accedono come amministratore, non è necessario accedere come root su Linux.
Microsoft ha cercato di migliorare le pratiche di sicurezza di Windows con UAC - non dovresti accedere come root su Linux per lo stesso motivo per cui non dovresti disabilitare UAC su Windows.
Perché Ubuntu usa Sudo
Scoraggiare gli utenti dall'eseguire come root è uno dei motivi per cui Ubuntu usa sudo invece di su. Per impostazione predefinita, la password di root è bloccata su Ubuntu, quindi gli utenti medi non possono accedere come root senza andare a riattivare l'account di root.
Su altre distribuzioni Linux, è stato storicamente possibile accedere come root dalla schermata di login grafica e ottenere un desktop di root, anche se molte applicazioni potrebbero lamentarsi (e persino rifiutarsi di essere eseguite come root, come fa VLC). Gli utenti provenienti da Windows a volte hanno deciso di accedere come root, proprio come hanno usato l'account Administrator su Windows XP.
Con sudo, si esegue un comando specifico (preceduto da sudo) che ottiene i privilegi di root. Con su, dovresti usare il comando su per ottenere una shell di root, dove devi eseguire il comando che vuoi usare prima (si spera) per uscire dalla shell di root. Sudo aiuta a implementare le best practice, eseguendo solo i comandi che devono essere eseguiti come root (come i comandi di installazione del software) senza lasciarti in una shell di root dove potresti rimanere loggato o eseguire altre applicazioni come root.
Limitare il danno
Quando si accede come proprio account utente, i programmi che si eseguono sono limitati dalla scrittura al resto del sistema - possono solo scrivere nella cartella home. Non è possibile modificare i file di sistema senza ottenere i permessi di root. Ciò aiuta a proteggere il tuo computer. Ad esempio, se il browser Firefox avesse un problema di sicurezza e lo stavi eseguendo come root, una pagina Web dannosa sarebbe in grado di scrivere su tutti i file del tuo sistema, leggere i file nelle cartelle home degli altri account utente e sostituire i comandi di sistema con compromessi quelli. Al contrario, se si è effettuato l'accesso come account utente limitato, la pagina Web dannosa non sarebbe in grado di fare nessuna di queste cose - sarebbe solo in grado di infliggere danni nella cartella principale. Mentre questo potrebbe ancora causare problemi, è molto meglio che avere l'intero sistema compromesso.
Questo ti aiuta anche a proteggerti da applicazioni maliziose o semplicemente buggy. Ad esempio, se esegui un'applicazione che decide di eliminare tutti i file a cui ha accesso (forse contiene un brutto bug), l'applicazione cancellerà la nostra cartella Inizio. Questo è male, ma se hai dei backup (che dovresti!), È abbastanza facile ripristinare i file nella tua cartella home. Tuttavia, se l'applicazione ha accesso root, potrebbe cancellare ogni singolo file sul disco rigido, rendendo necessaria una reinstallazione completa.
Autorizzazioni a grana fine
Mentre le vecchie distribuzioni Linux eseguivano interi programmi di amministrazione del sistema come root, i moderni desktop Linux utilizzano PolicyKit per un controllo ancora più preciso delle autorizzazioni che un'applicazione riceve.
Ad esempio, a un'applicazione di gestione del software potrebbe essere concessa solo l'autorizzazione per installare il software sul proprio sistema tramite PolicyKit. L'interfaccia del programma verrebbe eseguita con le autorizzazioni dell'account utente limitato, solo la parte del programma che installava il software avrebbe ricevuto autorizzazioni elevate e quella parte del programma sarebbe stata in grado di installare solo il software.
Il programma non avrebbe accesso root completo all'intero sistema, il che potrebbe proteggerti se nell'applicazione si trova un buco di sicurezza. PolicyKit consente inoltre agli account utente limitati di apportare alcune modifiche all'amministrazione del sistema senza ottenere l'accesso completo alla root, rendendo più semplice l'esecuzione come account utente limitato con meno problemi.
Linux ti permetterà di accedere a un desktop grafico come root - proprio come ti permetterà di cancellare ogni singolo file sul tuo disco fisso mentre il tuo sistema è in esecuzione o scrivi un rumore casuale direttamente sul tuo disco rigido, cancellando il tuo file system - ma non è è una buona idea Anche se sai cosa stai facendo, il sistema non è progettato per essere eseguito come root - stai bypassando gran parte dell'architettura di sicurezza che rende Linux così sicuro.