Perché non esiste alcuna opzione per accedere come root?


39

Perché Ubuntu non consente agli utenti della GUI di accedere come root al momento dell'avvio del sistema come amministratore in Windows?

Perché ci stanno limitando ad accedere solo tramite il terminale?


4
Tieni inoltre presente che "gksu" ti consente di eseguire applicazioni grafiche come root. Vale a dire "gksu nautlius"
Jeremy,

1
Alcune distro consentono di accedere a X come root. CentOS6.2 è uno di questi.
Djangofan,

Risposte:


42

Perché non è consigliabile farlo a meno che tu non sappia esattamente cosa stai facendo. Root è un superutente, il che significa che può fare qualsiasi cosa - è pensato solo per attività amministrative. Le attività quotidiane possono comportare un rischio per la sicurezza che verrà sfruttato se TUTTI (o una grande percentuale di utenti) utilizzassero il root. Pensa a Windows: il 99% dei problemi di malware e virus proviene da utenti che utilizzano account di amministratore per le attività quotidiane.

Diamo un'occhiata a un esempio.

Cosa succede se qualcuno si rompe nel tuo sistema e gli dice di cancellare i tuoi dischi? Se stai funzionando come un normale utente, gli unici file che dovresti (dovresti) rimuovere sono quelli che ti appartengono e non chiunque altro. Se, diciamo, hai avuto altre persone che usano il computer, i loro file non verranno toccati affatto, non importa quanto ci provi. Ciò significa che non sarai in grado di modificare alcun file di sistema e quindi il tuo sistema rimarrà solido e inalterato / non infetto.

Se si esegue come root, tuttavia, è possibile cancellare completamente il disco rigido, probabilmente danneggiare l'hardware stesso e in generale rendere il sistema inutilizzabile. Correzione: chiunque può eseguire un singolo comando come root sul computer (alcuni siti Web dannosi o un allegato e-mail) può farlo.

Dai un'occhiata a http://everyjoe.com/technology/explain-why-not-log-on-as-root/ , è un bell'articolo che potrebbe spiegarlo meglio di me.

EDIT: eccone un altro http://ihazomgsecurityskillz.blogspot.nl/2010/09/running-as-root.html

EDIT2: puoi sempre usare sudo commando gksu commandeseguire il commandsuperutente, entrambi funzionano con utility grafiche e da riga di comando. sudoviene solitamente utilizzato per gksul'interfaccia della riga di comando, tuttavia, ed è il promt grafico della password che fa la stessa cosa.

In una certa misura, ti permettono di diventare roottemporaneamente - molto, molto meglio che correre come root costantemente e rischiare l'instabilità.


1
Ma perché Fedora consente questa opzione all'avvio?
Renjith G,

5
Ubuntu è progettato per essere facile da usare e sospetto che, disabilitando root, rimuovano la tentazione dagli utenti normali (leggi: principianti di Linux) in esecuzione come root.
evgeny

Non ti ho preso.
Renjith G,

2
Il mio commento è stato leggermente sbagliato. Diciamo invece questo: impedendo l'accesso alla radice grafica, impedisce alle persone di correre come root A MENO CHE SIAMO CHE COSA STANNO FACENDO. Cioè, a mio avviso, dovrebbe essere consentito solo agli utenti esperti che conoscono e comprendono tutti i rischi.
evgeny,

1
È pensato per essere leggermente aggressivo, solo per riportare i lettori nella realtà e fare davvero un punto.
evgeny

11

In Ubuntu standard, gli rootaccessi non sono consentiti, né dal gestore degli accessi GDM (grafico), né dalla console di testo (cioè quella che si ottiene se si preme Ctrl+ Alt+ F1).

Per eseguire operazioni root(ad es. Amministratore) è necessario utilizzare il sudocomando in un terminale o qualsiasi equivalente GUI di esso: questi ti chiederanno la password e quindi eseguiranno l'operazione privilegiata richiesta (e solo quella).

La ragione di questo comportamento è, come altri hanno sottolineato, che eseguire rootoperazioni è intrinsecamente rischioso e il numero di operazioni che richiedono davvero rootprivilegi è relativamente piccolo: usando questo sudoapproccio si esegue la maggior parte del tempo con un account senza privilegi (cioè innocuo al sistema e ad altri utenti) e ottieni i rootpoteri quando è veramente necessario.

Un esempio potrebbe aiutare a chiarire. Supponiamo che tu voglia installare un nuovo servizio (demone) sul tuo computer; questo è relativamente nuovo e devi leggerlo e come configurarlo in base alle tue esigenze. Finirai di navigare molto sul Web per trovare informazioni, esempi di configurazione, ecc. Forse potresti avere una chat IRC per chiedere maggiori informazioni - niente di tutto questo richiede rootpoteri! Alla fine, hai solo bisogno di un accesso privilegiato per due operazioni:

  1. installa il nuovo programma (cioè, sudo apt-get install ...) e
  2. modifica la configurazione predefinita

Un principio comunemente accettato nella sicurezza del computer è utilizzare sempre il livello di privilegio minimo possibile per eseguire un'operazione. - questo riduce il rischio che accada qualcosa di brutto a causa di bug nel software o errori da parte dell'operatore.

La configurazione predefinita di Ubuntu va in questa direzione; se avessi usato un rootlogin, invece, avresti finito per navigare in Internet, facendo IRC (e forse tutte le altre cose che si fanno contemporaneamente) rootdall'account, esponendo inutilmente il sistema a una minaccia.

Aggiornamento: per il tuo esempio di compilatore, procederei in questo modo:

  1. Accedere al nodo tramite SSH come utente normale e da un altro nodo Ubuntu o GNU / Linux in cui è in esecuzione un display grafico X11. Assicurati di abilitare l'inoltro X11 su SSH:

    ssh -X myuser@remotemachine.example.org
    
  2. Al prompt shell / SSH, immettere il comando:

    sudo /path/to/the/compiler/install/program
    

    Questo eseguirà il programma di installazione del compilatore con rootprivilegi e accederà (tramite l'inoltro SSH) al display grafico di fronte a te.


Ok. Supponiamo che sto usando una macchina linux (con 10 utenti connessi tramite putty). Voglio installare un software (ad esempio un compilatore, anche per impostare le variabili ambientali per lo stesso) come root per essere disponibile per tutti gli utenti. Ma il programma di installazione funziona solo con la modalità GUI e nessun programma di installazione da riga di comando e verrà eseguito solo con il login di root. Come posso gestire l'installazione? Ho incontrato questa situazione durante l'installazione di arm-linux-gcc nel mio Ubuntu ma ho installato con successo lo stesso nella mia macchina fedora (versione shrike RedHat)
Renjith G

@ Renjit G: beh, questa è una buona domanda da sola, perché non la fai solo?
Riccardo Murri,

1
@ Renjit G: volevo suggerirti di fare una nuova domanda. Fare molte domande specifiche è meglio che porre una multiforme, perché consente risposte dettagliate e precise. Modificando la domanda corrente, le risposte che hai già ottenuto sembrano rispondere solo a metà della tua domanda ...
Riccardo Murri,

Grazie Murri. Seguirò sicuramente così solo dai miei prossimi post in poi.
Renjith G,

1
Dato un compilatore del genere, penso che molti di noi sarebbero curiosi di sapere quale compilatore sia. Per qualsiasi software distribuito tramite fonti APT o file .deb autonomi, l'installazione tramite la riga di comando utilizzando "sudo" è sufficiente (sì, anche per tutti gli utenti). È anche possibile installare tali file dalla GUI per tutti gli utenti, senza essere root. La richiesta della password della GUI che ottieni è l'equivalente di "sudo".
danneggia il

8

Il ragionamento dietro l'uso di sudo in Ubuntu può essere trovato qui . Se hai mai bisogno di un modo rapido per "fare il root" che uso sudo -so sudo -i.


9
E per chiarire, credo che sudo -s crei una sessione root come utente, mentre sudo -i crea una sessione root come utente root. Il modo più semplice per distinguere è emettere il comando, quindi eseguire un "echo $ HOME" per vedere quale ambiente viene utilizzato. O "cd ~" allora anche "pwd" funzionerebbe.
Scaine,

6

A parte le montagne di avvisi con l'utilizzo di root, è possibile abilitare il login di root accedendo ed eseguendo quanto segue dal terminale:

sudo passwd

Questo ti chiederà prima la password, poi ti chiederà di cambiare la password UNIX. La password inserita sarà per l' rootaccount.

L'Ubuntu Wiki ha un grande articolo su profondità della radice e sudo all'interno Ubuntu - avvertimenti e insidie.


5

Ci sono due domande qui. Uno è, perché l'accesso root è disabilitato di default in Ubuntu? Questo è stato risolto da molti dei post qui.

La seconda domanda è: perché gli accessi root grafici sono particolarmente denigrati?

Tutti gli svantaggi degli accessi root non grafici si applicano anche agli accessi root grafici. Ma quando si accede graficamente, si eseguono molti più programmi, operando in modo molto più complesso, rispetto a quando si accede non graficamente. L'intera interfaccia utente grafica e tutti i programmi grafici necessari per utilizzare efficacemente una GUI sarebbero in esecuzione come root. Una minuscola vulnerabilità della sicurezza in ognuno di essi consentirebbe a qualcuno di assumere il controllo completo del sistema.

L'accesso come root non è affatto raccomandato in Ubuntu, ma nella comunità della sicurezza non c'è consenso sul fatto che sia universalmente una cattiva pratica. Gli accessi root grafici, tuttavia, sono semplicemente una cattiva pratica e quasi tutti i sistemi operativi li hanno gradualmente eliminati o fortemente sconsigliati.

In misura minore, avere un utente non root (in particolare uno con la capacità di eseguire operazioni come root con sudo o PolicyKit) in un accesso grafico presenta rischi. Ma sono molto più controllati rispetto a quando tutto nell'ambiente grafico deve effettivamente funzionare come root con capacità illimitate. Tuttavia, per le situazioni in cui la sicurezza è fondamentale, di solito è consigliabile eliminare del tutto le interfacce grafiche, motivo per cui Ubuntu Server non viene fornito con una GUI per impostazione predefinita e sconsiglia ufficialmente di installarne uno (anche se è supportato per farlo) .

Nel mondo Windows, ora è possibile installare Windows Server in un modo che elimina sostanzialmente l'interfaccia utente grafica (tecnicamente, alcuni elementi rimangono, ma è molto ridotto e non è possibile eseguire programmi grafici arbitrari). Questo si basa sullo stesso ragionamento.

Anche se decidi di abilitare gli accessi root, ti preghiamo di non accedere graficamente come root. L'abilitazione degli accessi root può comportare rischi per la sicurezza leggermente superiori; l'esecuzione di un intero ambiente grafico come root comporta un rischio enormemente maggiore.

Inoltre, ad eccezione degli strumenti di amministrazione grafica progettati per essere eseguiti come root con gksu / gksudo / kdesudo, la maggior parte dei programmi grafici non è progettata per essere eseguita come root. Poiché non sono ampiamente testati in questa modalità, potrebbero non funzionare o comportarsi in modo irregolare (il che sarebbe particolarmente negativo, poiché sono in esecuzione come root ).

Infine, anche alcuni strumenti di amministrazione grafica, comeusers-admin , falliranno se eseguiti come root, dal momento che si aspettano di essere eseguiti da utenti normali e di eseguire azioni come root (senza mai essere effettivamente eseguiti come root) utilizzando PolicyKit.


4

Apri Terminale ( Ctrl+ Alt+ To Dash home> Altre app> Installato (Espandi)> Terminale).

PER ATTIVARE L'ACCOUNT DI ROOT

In un terminale digitare o incollare sudo passwd root. Inserisci la tua normale password di accesso (se ti viene richiesta), ti verrà chiesto di inserire la nuova rootpassword e confermarla.

PER AGGIUNGERE UN NUOVO PROMPT DI LOGIN CHE TI CONSENTE DI INSERIRE ROOT E LA SUA PASSWORD

In un terminale digitare o incollare. gksudo gedit /etc/lightdm/lightdm.conf. Si apre una finestra dell'editor di testo grafico in cui è possibile modificare il file di configurazione per la schermata di accesso.

Aggiungi la riga greeter-show-manual-login=truein fondo al file.

Il file dovrebbe ora leggere come segue:

[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
greeter-show-manual-login=true

Salva il lightdm.conffile ed esci da gedit.

Riavvia Ubuntu 12.04 e vedrai una nuova finestra "Login" (sostituisce la precedente finestra "Altro") che consente l'inserimento di nome utente e password. Immettere rootper il nome utente e quindi immettere la password assegnata all'account root.

Spero che questo aiuti gli altri che hanno bisogno / vogliono l' rootaccesso.


2

come per Ubuntu 12.04 LTS puoi farlo usando il privilegio di root:

echo "greeter-hide-users=true" >> /etc/lightdm/lightdm.conf

Quindi viene richiesto di digitare sia il nome utente che la password per accedere graficamente. Presumo che tu abbia già impostato la password per root :)

So che ci sono innumerevoli motivi per cui non dovresti effettuare il login direttamente come root, tuttavia, in alcuni casi rari (ad esempio in una casella di prova in esecuzione su VMware) quando hai apprezzato molto la comodità di essere root.


1

Perché l'utente root e l'amministratore (in Windows) sono l'equivalente di un dio a un computer. Quell'utente può regolare qualsiasi cosa, dalle autorizzazioni ai file fino alla cancellazione dell'intero file system. È abbastanza comune per l'utente domestico medio eseguire come amministratore (con quel nome o con un altro nome impostato al primo avvio). Poiché qualsiasi programma eseguito come tale utente è esteso al sistema, diventa pericoloso.

La mancanza di controllo sui privilegi di amministratore consente virus / malware o persino problemi autodistruttivi. È per questo che molte distro, tra cui Ubuntu, hanno limitato la transizione all'elevata potenza con un ulteriore passo (un passaggio un po 'cognitivo che aiuta a insistere sul fatto che "qualsiasi cambiamento che faccio qui è un cambiamento che ha uno scopo maggiore").


eh eh ... "tutte le modifiche che faccio qui hanno una portata maggiore".
emf

1

Sebbene non sia possibile accedere direttamente come root (per i motivi che altri hanno già spiegato bene), è possibile eseguire le applicazioni GUI come root. Ad esempio, Sistema → Amministrazione → Synaptic Package Manager è un'applicazione grafica che viene eseguita come root.

Per eseguire un'applicazione come root (un'applicazione di testo o un'applicazione della GUI), basta usare uno di questi comandi:

sudo name-of-the-application
gksu name-of-the-application

Sono quasi identici. La differenza principale è che la prima richiede la password sul terminale, la seconda utilizza una finestra di dialogo grafica.


1
La differenza tra sudoe gksuè più significativa rispetto a dove inserisci la password. gksuè preferito per le app della GUI e sudoper la riga di comando vedi qui e qui
Warren Hill,

1

Il root non è davvero consigliato per il normale utilizzo, ma a volte hai un lungo elenco di comandi del terminale che richiedono i privilegi di root ed è solo più conveniente accedere come root. Uso sudo xtermo gksu xtermper aprire un terminale root Penso che sia un po 'più facile distinguere quale termine finestra ha i privilegi di root quando hai il pratico prompt "root @"


0

Nota aggiuntiva: Ubuntu non consente agli utenti della GUI di accedere come root perché Ubuntu ti impedisce di rimuovere o eliminare accidentalmente file importanti con le app della GUI (come nautilus).

Con solo l'interfaccia utente CLI, può ridurre il rischio di un nostro errore. Ma in precedenza non è possibile accedere con root anche in modalità CLI perché Ubuntu crea una password casuale per root. L'attività amministrativa di root può essere eseguita solo utilizzando la password dell'utente con il comando sudo o gksu.

Si basa sulla regola Debian.


cosa significa comando gksu?
Renjith G,

1
man gksu: gksu - GTK + frontend per su e sudo
squallbayu,

1
Mi dispiace, ma non abbastanza chiaro per me
Renjith G

Voglio dire 'gksu' significa frontend GTK + per su e sudo.
squallbayu,

1
sì hai ragione. prova "gksu nautilus" nel terminal. Apparirà Nautilus con i privilegi di root.
squallbayu,

0

Dato che non ci sono buoni motivi per accedere come root , immagino che la differenza tra RH (consenti il ​​login root) e ubuntu (fai tutto usando sudo / gksu) sia una questione di preferenza.

Per quanto riguarda l'altra parte della domanda, dovresti essere in grado di eseguire l'installazione grafica accedendo come utente normale, premendo ALT-F2e inserendo gksu. Nella finestra di dialogo risultante basta inserire il comando che avvia il programma di installazione.


0

La radice non è consigliata per l'attività quotidiana quotidiana. Dal momento che fornisce i privilegi di superutente, può essere utilizzato in modo improprio.thus non esiste alcuna opzione per root all'accesso.


0

È sempre necessario accedere come se stessi e quindi eseguire sudo per eseguire azioni come root. Ubuntu è configurato per consentire la maggior parte degli accessi necessari per impostazione predefinita. Le modifiche minori si occuperanno del resto (come aggiungere il tuo usato ad altri gruppi). È considerata una pratica scorretta accedere come root. La migliore pratica del settore è l'impostazione predefinita qui.

Qualcuno in grado di accedere come root può essere molto negativo dal punto di vista della sicurezza.

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.