Perché non dovresti accedere al tuo sistema Linux come root

Sommario:

Perché non dovresti accedere al tuo sistema Linux come root
Perché non dovresti accedere al tuo sistema Linux come root

Video: Perché non dovresti accedere al tuo sistema Linux come root

Video: Perché non dovresti accedere al tuo sistema Linux come root
Video: GROUP POLICY (GPO) | Cos'è e a cosa serve - YouTube 2024, Aprile
Anonim
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.
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 è necessario accedere come root su Linux per lo stesso motivo per cui non si dovrebbe 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.
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.
Image
Image

Limitare il danno

Quando si accede come proprio account utente, i programmi eseguiti 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 aveva un buco di sicurezza e lo stavi eseguendo come root, una pagina Web dannosa sarebbe in grado di scrivere su tutti i file sul 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 eseguire alcuna di queste operazioni: sarebbe solo in grado di infliggere danni nella cartella Inizio. Mentre questo potrebbe ancora causare problemi, è molto meglio che avere l'intero sistema compromesso.

Questo 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 bug sgradevole), 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.

Image
Image

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 riceve un'applicazione.

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 software.

Il programma non avrebbe accesso completo alla radice dell'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.
Il programma non avrebbe accesso completo alla radice dell'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 - così come ti permetterà di cancellare ogni singolo file sul tuo disco rigido 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.

Consigliato: