Perché è sbagliato accedere come root?

179

Ho spesso trovato post su forum o altri siti web in cui si vedono persone che scherzano in questo modo sull'esecuzione / login come root come se fosse qualcosa di orribile e tutti dovrebbero sapere a riguardo . Tuttavia, non c'è molto che una ricerca rivela sulla questione.

Potrebbe essere ampiamente noto agli esperti di Linux, ma non so davvero perché. Ricordo di aver sempre eseguito come root quando ho provato Linux per la prima volta anni fa (Redhat e Mandrake) e non ricordo di aver incontrato problemi a causa di ciò.

Ci sono in realtà alcune distro che hanno uno sfondo rosso acceso con segni di allarme dappertutto come sfondo per l'utente root (SuSe?). Uso ancora l'account "Administrator" per l'uso regolare sulla mia installazione di Windows e non ho mai avuto problemi nemmeno lì.

    
posta Mussnoon 04.12.2010 - 18:00

20 risposte

145

Sconfigge il modello di sicurezza che è stato applicato per anni. Le applicazioni sono pensate per essere eseguite con sicurezza non amministrativa (o come semplici mortali), quindi devi elevare i loro privilegi per modificare il sistema sottostante. Ad esempio, non vorrai che il recente arresto anomalo di Rhythmbox cancelli l'intera directory /usr a causa di un bug. O quella vulnerabilità che è stata appena pubblicata in ProFTPD per consentire a un utente malintenzionato di ottenere una shell ROOT.

È semplicemente una buona pratica su qualsiasi sistema operativo eseguire le applicazioni a livello di utente e lasciare le attività amministrative all'utente root e solo per necessità.

    
risposta data lazyPower 04.12.2010 - 18:08
73

Una sola parola: sicurezza.

  1. Hai effettuato il login come root = tutte le applicazioni sono in esecuzione con privilegi di root - ogni vulnerabilità in Firefox, Flash, OpenOffice ecc. ora può distruggere il tuo sistema, perché i possibili virus ora hanno accesso ovunque. Sì, ci sono solo pochi virus per Ubuntu / Linux, ma è anche grazie alla buona sicurezza e all'utente non privilegiato di default.
  2. Non si tratta solo di virus: piccoli bug in un'applicazione potrebbero cancellare alcuni file di sistema o ...
  3. Quando sei registrato come root, puoi fare tutto - il sistema non chiederà! Vuoi formattare questo disco? Ok, basta un clic ed è fatto, perché tu sei root e sai cosa stai facendo ...
risposta data Vojtech Trefny 04.12.2010 - 18:10
45

L'esecuzione come root non è buona perché:

  1. Stupidità: nulla ti impedisce di fare qualcosa di stupido. Se provi a cambiare il sistema in ogni modo che potrebbe essere dannoso, devi fare sudo che praticamente garantisce una pausa mentre stai inserendo la password per farti capire che stai per fare un possibile cambiamento grosso / costoso.
  2. Sicurezza: è già stato menzionato già alcune volte in questa domanda, ma fondamentalmente è la stessa cosa, più difficile da hackerare se non conosci l'account di accesso dell'utente amministratore. root significa che hai già metà del working set delle credenziali di amministrazione.
  3. Non ne hai davvero bisogno: se hai bisogno di eseguire diversi comandi come root e sei infastidito dal dover inserire la tua password più volte quando sudo è scaduto tutto ciò che devi fare è sudo -i e ora sei root. Vuoi eseguire alcuni comandi usando le pipe? Quindi usa sudo sh -c "comand1 | command2" .
  4. Puoi sempre utilizzarlo nella console di ripristino: la console di ripristino ti consente di provare a recuperare dal fare qualcosa di stupido o di risolvere un problema causato da un'app (che dovevi ancora eseguire come sudo :)) Ubuntu non ha una password per l'account root in questo caso ma puoi cercare online per cambiarlo, questo renderà più difficile per chiunque abbia accesso fisico alla tua casella di essere in grado di fare del male.

Il motivo per cui non sei riuscito a trovare informazioni sul perché è sbagliato è perché, beh, c'è troppa informazione in internet :) e che molte persone che usano Linux da molto tempo pensano come te fare. Questo modo di pensare all'account di root è abbastanza nuovo (forse un decennio?) E molte persone si arrabbiano ancora di dover usare sudo. Soprattutto se stanno lavorando su un server il che significa che sono andati con l'intenzione di apportare modifiche al sistema. Probabilmente a causa delle precedenti esperienze negative e degli standard di sicurezza, la maggior parte degli amministratori di sistema conosce meglio, ma a loro non piace ancora:).

    
risposta data Marlon 04.12.2010 - 19:43
36

Questa è una buona domanda. Penso che la risposta sia leggermente diversa a seconda che tu stia parlando di un server o di un'installazione desktop.

Su un desktop, è raro utilizzare l'account root . Infatti, Ubuntu viene fornito con accesso root disabilitato. Tutte le modifiche che richiedono i privilegi di superutente vengono eseguite tramite sudo e le relative informazioni grafiche gksudo e kdesudo . Dato che è facile impostare una password root , tuttavia, perché la gente non lo fa?

Una ragione è che ti dà un ulteriore livello di sicurezza. Se si esegue un programma come root e viene sfruttato un difetto di sicurezza, l'utente malintenzionato ha accesso a tutti i dati e può controllare direttamente l'hardware. Ad esempio, potrebbe installare un trojan o un key-logger nel tuo kernel. In pratica, però, un attacco può causare una grande quantità di danni anche senza privilegi di superutente. Dopo tutto, tutti i dati dell'utente, inclusi i documenti e le password memorizzate, sono accessibili senza accesso root.

Un punto più valido, su un sistema a utente singolo, è che l'utente non può rendere il sistema inutilizzabile. Se l'utente emette involontariamente un comando che cancella tutti i file, sarà comunque in grado di avviare il sistema, anche se i dati vengono persi.

Inoltre, la maggior parte delle applicazioni X11 (user-facing) oggi si basa sul presupposto che vengano eseguite come normali account utente e senza diritti di amministratore. Pertanto alcuni programmi potrebbero comportarsi in modo anomalo quando vengono eseguiti come root .

Su un sistema multiutente con accesso solo per shell non grafico, molti di questi motivi non si applicano. Tuttavia, Ubuntu ha ancora un ragionevole valore predefinito su un account root inaccessibile. Per prima cosa, c'è una reale differenza tra l'accesso a un account utente (con sudo diritti) attraverso un buco di sicurezza e l'accesso a root , poiché nel primo caso l'interruzione di altri utenti richiederà sudo in esecuzione e richiederà comunque la password dell'account come ulteriore passo di sicurezza. Per un altro, è utile eseguire molte attività amministrative da un account utente e invocare solo sudo quando i privilegi di superutente sono assolutamente necessari. Pertanto, quando si installa un programma dal sorgente, è consigliabile creare il sorgente - eseguendo configure e make - all'interno della directory dell'utente e utilizzando solo sudo make install nel passaggio finale. Di nuovo, ciò rende più difficile sparare a se stessi (e agli altri utenti del sistema multiutente) nel piede, e diminuisce la probabilità che gli script di build causino il caos nel sistema. Pertanto, anche su un server è consigliabile attenersi alla amministrazione sudo di Ubuntu

di Ubuntu.     
risposta data loevborg 04.12.2010 - 18:24
31

Una ragione per non eseguire come root che non è stata (finora) identificata da altre risposte è la tracciabilità. Probabilmente è meno importante su macchine che sono principalmente macchine a utente singolo (il tuo desktop o laptop), ma su macchine server, se qualcuno è loggato come root , non sai chi dare la colpa per le azioni intraprese. Pertanto, la maggior parte delle organizzazioni professionali con più sistemi e più amministratori che hanno bisogno di privilegi di root richiedono che le persone effettuino l'accesso utilizzando il proprio ID utente (e password), quindi utilizzano sudo o programmi simili per operare con i privilegi root quando necessario.

Altrimenti, i motivi principali per cui non sei in esecuzione come root sono:

  • Riduci al minimo il rischio di danni derivanti da incidenti. Se esegui rm -fr / home/me/my-subdir come root, hai eliminato drasticamente tutto ciò che importa dalla tua macchina a causa di quello spazio dopo la (prima) barra - perché le cose che vanno prima sono le cose che sono state aggiunte prima - piccole cose come il kernel, la /bin e la /etc directory. Unix si arrabbia se li perdi.

  • Riduce al minimo il rischio di danni da siti esterni dannosi. Se esplori come root , sei più vulnerabile ai download drive-by di materiale dannoso.

Uso MacOS X più di Ubuntu, ma in questo caso root è disabilitato di default ed è ancora sul mio computer. Aggiorno regolarmente il kernel e altre operazioni simili usando sudo (dietro le quinte). Tecniche simili si applicano generalmente a Linux.

Fondamentalmente, dovresti usare i privilegi onnipotenti di root per periodi di lavoro ridotti per evitare il rischio di errori.

    
risposta data Jonathan Leffler 05.12.2010 - 00:10
20

TL; DR: fai cose come root solo quando devi. sudo rende questo abbastanza facile. Se abiliti gli accessi root, puoi comunque seguire questa regola, devi solo fare attenzione a farlo. Sebbene abilitare gli accessi root non sia effettivamente sicuro se eseguito correttamente, non è necessario abilitare gli accessi root perché hai sudo .

Qui ci sono veramente due domande.

  • Perché è sbagliato accedere come root per il proprio uso quotidiano del computer (navigazione sul Web, e-mail, elaborazione di testi, giochi, ecc.)?
  • Perché in Ubuntu l'impostazione predefinita disabilita completamente gli accessi root e utilizza sudo e polkit per consentire agli amministratori di eseguire comandi specifici come root?

Perché non eseguire tutto come root, sempre?

La maggior parte delle altre risposte copre questo. Si tratta di:

  1. Se usi i poteri di root per le attività che non li richiedono e finisci per fare qualcosa che non volevi fare, puoi cambiare o danneggiare il tuo sistema in un modo che non vuoi.
  2. Se esegui un programma come root quando non ce n'è bisogno, e it finisce per fare qualcosa che non intendevi fare, ad esempio a causa di una vulnerabilità della sicurezza o altri bug - potrebbe cambiare o danneggiare il tuo sistema in un modo che non vuoi.

È vero che anche senza fare le cose come root, puoi causare danni. Ad esempio, puoi eliminare tutti i file nella tua home directory, che di solito include tutti i tuoi documenti, senza essere eseguito come root! (Si spera che abbiate dei backup.)

Ovviamente, come root, ci sono altri modi per distruggere accidentalmente quegli stessi dati. Ad esempio, puoi specificare l'argomento of= errato su un comando dd e scrivere dati non elaborati sui tuoi file (il che li rende molto più difficili da recuperare rispetto a quelli che avresti semplicemente cancellato).

Se sei l'unica persona che usa il tuo computer, il danno che puoi fare solo come root potrebbe non essere più alto del danno che puoi fare con i tuoi normali privilegi di utente. Ma questo non è ancora un motivo per espandere il rischio di includere ulteriori modi di incasinare il tuo sistema Ubuntu.

Se l'esecuzione con un account utente non root ti impediva di esercitare il controllo sul tuo computer, questo sarebbe ovviamente un compromesso cattivo . Ma non è così - ogni volta che desideri eseguire un'azione come root, puoi farlo con sudo e altri metodi .

Perché non consentire l'accesso come utente root?

L'idea che la possibilità di accedere come root sia intrinsecamente insicura è un mito. Alcuni sistemi hanno un account di root abilitato di default; altri sistemi utilizzano sudo per impostazione predefinita e alcuni sono configurati con entrambi.

  • Ad esempio, OpenBSD , che è ampiamente e ragionevolmente considerato il sistema operativo più sicuro al mondo, navi con l'account root abilitato per l'accesso locale, basato su password.
  • Altri sistemi operativi ben rispettati che fanno ciò includono RHEL , CentOS e Fedora .
  • Debian (da cui Ubuntu deriva ) l'utente decide quale approccio sarà configurato, durante l'installazione del sistema.

Non è oggettivamente sbagliato avere un sistema in cui è abilitato l'account di root, a condizione che

  1. lo usi ancora solo quando ne hai veramente bisogno, e
  2. limiti l'accesso in modo appropriato.

Spesso i novizi chiedono come abilitare l'account root in Ubuntu. Non dovremmo nascondere queste informazioni da loro, ma di solito quando le persone lo chiedono è perché hanno l'impressione sbagliata che loro hanno bisogno di per abilitare l'account di root. In realtà, questo non è quasi mai necessario, quindi quando rispondi a queste domande è importante spiegarlo. Abilitare l'account di root rende anche facile diventare compiacenti ed eseguire azioni come root che non richiedono i privilegi di root . Ma questo non significa abilitare l'account root di per sé non sicuro.

sudo incoraggia e aiuta gli utenti a eseguire comandi come root solo quando necessario. Per eseguire un comando come root, digita sudo , uno spazio e quindi il comando. Questo è molto conveniente e molti utenti di tutti i livelli di abilità preferiscono questo approccio.

In breve, non è necessario abilitare i login di root perché hai sudo .Ma finché lo usi solo per le attività amministrative che lo richiedono, è altrettanto sicuro abilitare e accedere come root, a patto che sia solo in questi modi :

  • A livello locale, da una console virtuale non grafica
  • .
  • Con il comando su , se connesso da un altro account .

Tuttavia, aumentano considerevolmente i rischi per la sicurezza se accedete come root in questi modi:

  • Graficamente. Quando accedi graficamente, viene eseguito un sacco di roba per fornire l'interfaccia grafica e finirai per eseguire ancora più applicazioni come root per utilizzare quell'interfaccia per qualsiasi cosa. Questo va contro il principio di eseguire solo programmi come root che hanno veramente bisogno dei privilegi di root. Alcuni di questi programmi possono contenere bug, inclusi bug di sicurezza.

    Inoltre, c'è un motivo di non sicurezza per evitare questo. La registrazione grafica come root non è ben supportata: come loevborg menziona , gli sviluppatori di ambienti desktop e di app grafiche non spesso li testano come root. Anche se lo fanno, accedere ad un ambiente desktop grafico come root non ottiene veri e propri test alfa e beta da parte degli utenti, poiché quasi nessuno lo tenta (per i motivi di sicurezza spiegati sopra).

    Se hai bisogno di eseguire un'applicazione grafica specifica come root, puoi usare gksudo o sudo -H . Questo esegue un minor numero di programmi come root se non si accede effettivamente graficamente con l'account root.

  • In remoto. L'account root può effettivamente fare qualsiasi cosa, e ha lo stesso nome praticamente su ogni sistema simile a Unix. Effettuando il login come root tramite ssh o altri meccanismi remoti, o anche da configurando i servizi remoti per consentirli , è molto più facile per gli intrusi, inclusi script automatici e malware in esecuzione su botnet, ottenere accesso tramite forza bruta, attacchi di dizionario (e possibilmente alcuni bug di sicurezza).

    Probabilmente il rischio non è molto alto se permetti solo login basati su chiave e non basati su password .

Per impostazione predefinita in Ubuntu, non sono abilitati né gli accessi root grafici né gli accessi remoti via SSH, anche se si abilita il login come root . Cioè, anche se abiliti il ​​login root, è ancora abilitato solo in modi ragionevolmente sicuri.

  • Se si esegue un server ssh su Ubuntu e non è stato modificato /etc/sshd/ssh_config , conterrà la riga PermitRootLogin without-password . Questo disabilita il login di root basato su password, ma consente il login basato su chiave. Tuttavia, nessuna chiave è configurata per impostazione predefinita, quindi, a meno che non ne abbiate impostato uno, anche questo non funzionerà. Inoltre, il login di root remoto basato su chiavi è molto meno dannoso del login di root remoto basato su password, in parte perché non crea il rischio di attacchi di forza bruta e dizionario.
  • Anche se i valori predefiniti dovrebbero proteggerti, penso sia comunque una buona idea controllare la configurazione ssh, se vuoi abilitare l'account root. E se stai eseguendo altri servizi che forniscono accesso remoto, come ftp, dovresti controllarli anche.

In conclusione:

  • Fai cose come root solo quando è necessario; sudo ti aiuta a farlo, pur continuando a darti tutta la potenza di root ogni volta che lo desideri.
  • Se capisci come funziona la root e i pericoli di un uso eccessivo, abilitare l'account root non è davvero problematico dal punto di vista della sicurezza.
  • Ma se lo capisci, sai anche che quasi certamente non bisogno per abilitare l'account root .

Per ulteriori informazioni su root e sudo , inclusi alcuni vantaggi aggiuntivi di sudo che non ho trattato qui, consiglio vivamente RootSudo nella wiki di guida di Ubuntu.

    
risposta data Eliah Kagan 03.05.2015 - 19:12
13

L'account root è disabilitato per impostazione predefinita, ovvero esiste ma non è utilizzabile (tranne in modalità di ripristino). Ciò significa che un utente malintenzionato è a conoscenza del proprio account di root, ma non è in grado di utilizzarlo anche se ha la password di root. Pertanto, un utente malintenzionato deve indovinare sia un nome utente che ha i privilegi di amministratore, sia la password dell'utente (che è molto più difficile del semplice tentativo di elaborare la password di root). In XP se è installata la Console di ripristino, chiunque l'accesso fisico alla tua casella può avviarsi (RC) - nessuna password richiesta. Come la modalità di recupero in Ubuntu.

In Ubuntu, quando dicono che la root è disabilitata, ciò che si intende in realtà è che l'account è bloccato. Un account è bloccato modificando la password su un valore che non corrisponde a nessun valore crittografato possibile. Questo impedisce efficacemente a chiunque di accedere come root - dal momento che non ci sarebbe alcun modo possibile di inserire la password. Dato che ci sono ancora dei tempi in cui è necessario l'accesso root, il kernel di Ubuntu è stato modificato per consentire il login locale root solo in modalità utente singolo.

Vedi anche questa pagina

    
risposta data karthick87 04.12.2010 - 18:18
12

È come armare un ragazzino con un AK47, mentre può tranquillamente giocare con la sua pistola paintball. ;)

Voglio dire che è sbagliato perché tu e le tue applicazioni avrete più privilegi di cui hanno bisogno e questo è quando le cose possono e a volte possono andare storte: (

    
risposta data omeid 05.12.2010 - 02:33
11

Bellissima domanda ... Permettetemi di rispondere da un punto di vista pratico:

Quando ho iniziato a utilizzare Linux, che è più di 10 anni fa, le principali distribuzioni non pubblicizzavano con account non-root tanto quanto oggi. Poiché ero abituato a Windows, non vedevo nemmeno un punto nell'utilizzo di un account utente vincolato. In particolare perché dovevo inserire "su" molto spesso - sudo non era poi così popolare. ;-) Così ho sempre effettuato il login come root perché avevo un sacco di manutenzione da fare per avere il mio sistema ben configurato. Ma indovina un po ', qualsiasi nuovo sistema installato è diventato rapidamente molto instabile.

Un problema concreto, ad esempio: non ho avuto tanto spazio su harddisk riservato per Linux, così mi è capitato alcune volte di avere a disposizione 0 byte sulla mia partizione. Forse non sono completamente preciso perché non conosco il meccanismo esatto, ma quando si riempie un disco con un account non-root ci sono sempre pochi kilobyte rimasti. Ma se hai veramente a disposizione 0 byte, il tuo sistema fa strani errori e potresti finire con qualche danno difficile da sistemare nel tuo sistema perché c'è un sacco di software di sistema in esecuzione in background ...

Un'altra cosa è: la divisione tra root e non root mantiene il tuo sistema ben organizzato. Come utente root potresti essere tentato di non installare in modo pulito le tue nuove applicazioni che ti lasciano con un sistema sporco e difficile da mantenere.

Ma la cosa buona: le distribuzioni moderne fanno la maggior parte delle attività di amministrazione per te, quindi di rado devi gironzolare nel budello del tuo sistema Linux con un account di root. L'immissione di una password di volta in volta è sufficiente, il resto viene eseguito dagli script del distributore.

Ma dubito che tu non abbia avuto problemi con il tuo sistema Windows se avessi usato 95 o 98. (Almeno ho avuto problemi con questo ...) A causa della mancanza di una netta separazione tra l'Amministratore e il regolare le app Windows "tradizionali" degli utenti presuppongono che possano fare qualsiasi cosa, ad es installare spyware se ne hanno voglia, anche senza dirlo. Microsoft si è impegnata in questo problema durante il rilascio di Vista. (Implementando in modo efficace un meccanismo sudo.) Quindi le persone hanno dei dialoghi molto fastidiosi che dicono "Non puoi farlo". Per alcuni software non conformi a Vista hai bisogno di alcuni hack sporchi per installarlo, anche come amministratore ...

    
risposta data Philip 04.12.2010 - 21:02
10

Ci sono molti aspetti dietro questo approccio. Alcuni di loro sono:

  •    Il root è tutto potente.
  • Nei sistemi Unix e Unix, i privilegi di amministrazione del sistema sono tutto o niente. Un utente ha o meno accesso root e l'accesso root implica il controllo completo di una macchina. Se la macchina in questione è utilizzata da più di una persona, o la root ha accesso ad altri sistemi o file utente, è più accettabile assegnare a alcuni utenti privilegi di root parziale.

  • L'utente root può nascondere tutte le sue azioni.
  • sudo registra ogni comando eseguito tramite sudo. Avere una registrazione di ciò che viene fatto con sudo ci aiuta a diagnosticare problemi con i singoli sistemi / processi e problemi di configurazione generale, oltre ad aiutarci a identificare i miglioramenti necessari.

  • La password di root ti consente di accedere a qualsiasi comando su un sistema.
  • Tramite il suo file di configurazione, sudo può fornire un accesso root utente per un particolare set di comandi. Ciò evita anche l'effetto "tutto o niente", permettendoci di dare ai singoli utenti un maggiore controllo sulle loro macchine e di risolvere autonomamente i problemi.

    ecco un buon articolo: link

        
    risposta data aneeshep 18.12.2010 - 14:52
    8
    rm /*
    

    Diciamo che stai pulendo un'area amministrativa. Ti sei stancato della password, quindi sudo su . Ti distrai solo per un secondo e ti dimentichi di cd in / . Quindi rm * . L'ho fatto. Puoi riprenderlo tutto, ma è un PITA. Oh, ed è sceso anche in /media !

        
    risposta data bambuntu 07.02.2012 - 05:30
    7

    Perché non hai il login root?

    Mentre puoi creare una password per l'account superuser che ti permette di accedere come root, vale la pena ricordare che questo non è il modo di fare "Ubuntu". Ubuntu ha scelto specificamente non per fornire un login e una password di root per impostazione predefinita. Invece, un'installazione Ubuntu predefinita utilizzerà sudo .

    Sudo è un'alternativa a dare alle persone una password di root per eseguire compiti da superutente. In una installazione predefinita di Ubuntu, la persona che ha installato il sistema operativo ha l'autorizzazione "sudo" per impostazione predefinita.

    Chiunque abbia il permesso "sudo" può eseguire qualcosa "come superuser" anticipando sudo al loro comando. Ad esempio, per eseguire apt-get dist-upgrade come superutente, è possibile utilizzare:

    sudo apt-get dist-upgrade
    

    Vantaggi dell'approccio sudo

    • Con sudo, scegli in anticipo quali utenti hanno accesso sudo. Non è necessario per loro ricordare una password di root, poiché usano la propria password.

    • Se hai più utenti, puoi revocare il tuo accesso come superuser rimuovendo le loro autorizzazioni sudo, senza dover cambiare la password di root e notificare a tutti una nuova password.

    • Puoi anche scegliere quali comandi un utente può eseguire usando sudo e quali comandi sono vietati 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 rende più semplice eseguire un singolo comando con i privilegi di superutente. Con un login di root, rimani permanentemente in una shell superuser che deve essere chiusa usando exit o logout . Questo può portare le persone a rimanere nella shell superuser più a lungo del necessario solo perché è più comodo che uscire e rientrare più tardi.

    Con sudo, hai ancora la possibilità di aprire una shell superuser (interattiva) permanente con il comando:

    sudo su
    

    ... e questo può ancora essere fatto senza alcuna password di root, perché sudo fornisce i privilegi di superutente al comando su .

    E analogamente, invece di su - per una shell di login puoi usare sudo su - o anche sudo -i .

    Tuttavia, quando lo fai, devi solo essere consapevole che stai agendo come 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 qualche danno al sistema (senza di esso, puoi solo danneggiare i file di cui è proprietario l'utente).

    Giusto per chiarire, può , se si sceglie, fornire all'utente root una password che consente l'accesso come root, se invece si vuole fare le cose in questo modo. Volevo solo farti conoscere la convenzione di Ubuntu di preferire sudo invece e cercare di spiegare alcuni dei motivi per cui Ubuntu preferisce quell'approccio come predefinito.

    Perché non consentire il login root su SSH?

    Anche se il tuo utente root ha ha una password che ti permette di accedere come root, è comunque buona norma per la sicurezza disabilitare il login di root diretto dall'esterno, come in SSH. È ragionevole che gli utenti debbano raggiungere su - o sudo dopo il login iniziale.

    I potenziali benefici a questo sono principalmente legati alla sicurezza:

    • Riduce il vettore di attacco rimuovendo la possibilità di forzare brutemente la password di root in remoto. È tipico che un server su Internet sia costantemente bloccato dai tentativi di forzare la password di root tramite SSH.

    • Crea un audit trail migliore in modo che anche in caso di violazione in cui l'aggressore fa ottenga i privilegi di superutente in un secondo momento, puoi vedere a quale account utente è stato utilizzato per accedere.

    risposta data thomasrutter 25.06.2014 - 15:24
    6

    Una volta effettuato il login come root, rende possibile applicazioni, script o comandi da riga di comando per accedere a parti sensibili del software che possono danneggiare il sistema. Questo può essere il risultato di inesperienza da parte dell'utente o del programmatore o di un codice nascosto malevolo.

        
    risposta data Gersitar 04.12.2010 - 18:26
    5

    È troppo facile fare confusione quando si utilizza come root. Puoi clobare l'intero sistema in un unico comando ...

        
    risposta data Abel 04.12.2010 - 20:05
    5

    Posso aggiungere che c'è una differenza tra Administrator in Windows e root in Unix. L'amministratore ha ancora alcune restrizioni nei sistemi, laddove root non ha nessuna restrizione . L'analogo corretto di root in Windows è System user.

    La cosa brutta da usare PC sotto root / Sistema è che puoi distruggere accidentalmente qualsiasi cosa senza alcun avviso dal sistema operativo.

        
    risposta data Aleksei 18.12.2010 - 16:01
    3

    Se le applicazioni vengono eseguite come root, non vi è alcuna garanzia che nessuna di esse venga eseguita

    rm -rf /
    

    (Questo è un esempio di un comando che dovrebbe non essere eseguito.)

        
    risposta data segfault 04.12.2010 - 18:48
    3

    Dato un utente esperto e attento, non sono sicuro che esista una risposta destra . Non avevo visto questa risposta, quindi ho pensato di farmi ascoltare.

    Ciò che non mi piace sono le modifiche non intenzionali delle autorizzazioni sui sistemi multiutente di cui ho bisogno a chmod in seguito. La correzione tramite chmod after-the-fact è molto più irritante del bisogno di sudo, ma dipende da ciò che ho pianificato.

        
    risposta data Clayton 09.08.2016 - 05:10
    3

    Non c'è alcun pericolo nella registrazione come root se usato con attenzione.

    Anche se penso che disabilitare root sia una soluzione preferibile, perché l'attaccante non potrebbe forzarlo.

    Una soluzione è creare un utente nel gruppo sudo con nome oscuro, come gamer e usare sudo per eseguire attività amministrative.

    Quindi l'attaccante non deve solo indovinare la password di quell'utente amministrativo ma anche il suo nome di accesso. Il che non è ovvio se l'utente che usa sudo ha il nome di login come kitty o gamer o qualcosa di simile.

        
    risposta data Bulat M. 11.11.2016 - 08:08
    2

    Il software si basa su librerie condivise, dipendenze, file di configurazione, ecc.
    Il più delle volte, un singolo clic in un'applicazione richiama una "reazione a catena" di più cambiamenti, non solo dove si pensa che probabilmente lo farebbe.
    Quando queste modifiche stanno per influire sulle impostazioni critiche del sistema, è un bene per te - come utente - sapere.
    Ecco perché l'accesso root è un buon modello di sicurezza:
    Se sta per accadere qualcosa di cruciale al tuo sistema, ti verrà notificato quando ti verrà richiesta l'elevazione dei privilegi.

        
    risposta data Pavlos G. 05.12.2010 - 17:50
    2

    Motivi contro l'utilizzo di root:

    • Potrebbe distruggere accidentalmente i file di sistema
    • Potrebbe ricevere un'infezione
    • Non registra le azioni

    Motivi per l'utilizzo di root:

    • Accesso a tutto, nessuna password di digitazione
    • GUI, non utilizzare terminali per la gestione di file / directory di sistema

    Mi sembra che un account non root possa ancora essere vittima di tali motivi contro l'utilizzo di root, il massimo che aggiunge è una conferma per le tue azioni. Penso che finché sai cosa stai facendo, sei perfettamente sicuro usando root. Lì, l'ho detto.

        
    risposta data Que 18.11.2011 - 08:41

    Leggi altre domande sui tag