Esiste una password di root su OS X e Ubuntu?


13

Quando si configura una nuova installazione di Ubuntu o OS X, viene generalmente creato un utente. Su OS X è il nome utente che scegli. Su Ubuntu (la versione del server) di solito ubuntuviene creato l' utente.

Per come lo capisco, c'è anche un utente root, a cui puoi accedere tramite qualcosa di simile sudo su - roote inserendo la password ubuntudell'utente o dell'utente che hai creato, che fa parte del gruppo degli amministratori. Una volta passato a rootpenso che puoi usare il passwdcomando e cambiare la password di root.

Ma qual era rootla password prima? Esiste? È una stringa casuale di numeri e lettere? Come lo gestisce il sistema?


1
Su Ubuntu, hai solo bisogno sudo su. L' rootaccount è assunto per impostazione predefinita.
Nathan Osman,

1
Su Ubuntu, suè necessario solo per passare a un utente non root . Per eseguire un singolo comando come root, digitare sudo command. Per ottenere una shell di root, digitare sudo -i.
Scott Severance,

E se dici a qualcuno nei forum di Ubuntu come impostare una password di root, o avviare e reimpostare una password utente tramite un livecd, può far bannare il tuo account per 30 giorni ... chiedimi come lo so .... Ubuntu la gente non vuole davvero che tu abbia una password impostata per root, vogliono che tu usi sempre sudo
ivanivan,

Risposte:


12

Posso rispondere solo per Ubuntu.
In Ubuntu l' rootutente ha una password bloccata. Dalla passwdpagina man:

   -l, --lock
           Lock the password of the named account. This option disables a 
           password by changing it to a value which matches no possible 
           encrypted value (it adds a '!' at the beginning of the password).

Puoi vedere !in /etc/shadow.

Un utente con un account bloccato non può cambiare la sua password, ma root può, senza aver inserito la vecchia password.


10

Ecco come sbloccare (?) O creare un vero utente root in OSX:

  1. Preferenze di Sistema
  2. Utenti e gruppi
  3. Opzioni di accesso (fai clic su Blocca e autentica qui)
  4. Fai clic su "Partecipa" (NAS)
  5. Apri Utility Directory
  6. Fai clic sul lucchetto (autentica di nuovo)
  7. Menu Modifica -> abilita utente root
  8. (Modifica menu -> cambia password di root)

Godere !


+1 per la buona descrizione della GUI del Mac. Ho sempre e solo conosciuto il modo da riga di comando per attivare l'account root.
Andrew J. Brehm,

Sì, sono rimasto sorpreso quando il ragazzo dell'assistenza clienti Apple mi ha accompagnato attraverso i passaggi per farlo ... Ho pensato che fosse un segreto troppo bello per essere "nascosto".
Yossi Farjoun

7

Come diceva enzotib, Ubuntu ha un account root ma è bloccato per impostazione predefinita.

Ora, sui Mac:

Come probabilmente intuirai, root (insieme a tutti gli account daemon) non appare nella sezione "Utenti e gruppi" di Impostazioni.

Guardando il mio mac /etc/passwd , c'è una voce root, insieme a un messaggio

Note that this file is consulted directly only when the system is running
in single-user mode.  At other times this information is provided by 
Open Directory.

Ho provato a trovare l'elenco utenti di Open Directory, senza successo, ma nelle configurazioni si parlava di dare esplicitamente i permessi di root anche se sono impliciti. Non ho mai richiesto una password di root quando ho configurato la macchina per la prima volta, quindi immagino che l'account di root sia bloccato come in Ubuntu. Non ho (e non voglio davvero) provare a dare a root una password e ad accedere con essa, ma probabilmente potresti.

La linea passwd:

root:*:0:0:System Administrator:/var/root:/bin/sh

Il comando perl dal commento di keith aggiunge :0a alla fine. Nessun hash password. Non riesco a trovare neanche un file shadow, non sono stato in grado di trovarli ovunque per verificare se root potrebbe avere una password.


Qual è l'output di perl -e 'print join(":", getpwuid(0)), "\n"'? ( NOTA : se include qualcosa che assomiglia a una password con hash, non pubblicarla qui.)
Keith Thompson,

@KeithThompson Inserito, niente di speciale. Conosco l'hash, ma apprezzo che tu abbia incluso l'avvertimento per gli utenti che potrebbero non farlo.
Kevin,

1
Che dire dello stesso comando Perl con il tuo uid? Questo mostra una password con hash? (Ancora una volta, ovviamente, non pubblicare l'hash.)
Keith Thompson il

1
Hmm. Forse getpwuid()su MacOS lo fa deliberatamente, per evitare di rivelare informazioni sensibili (anche se ci deve essere qualcosa che può accedere alla password con hash).
Keith Thompson,

1
Ho cercato online e sembra che abbiano avuto un'ombra nell'ultimo sistema operativo, ma non riesco a trovarne uno in Lion.
Kevin,

7

La password di root su Mac OS X è memorizzata (come menzionato da Kevin) in Open Directory. Per confermare l'esistenza dell'utente root è richiesto un semplice grep:

$ grep ^root /etc/passwd 
root:*:0:0:System Administrator:/var/root:/bin/sh

Per leggere le informazioni sulla password di root da Open Directory:

$ dscl localhost -read /Local/Default/Users/root Password
Password: *
$ dscl localhost -read /Local/Default/Users/root AuthenticationAuthority
No such key: AuthenticationAuthority

Nel caso predefinito (come mostrato), l'utente root non ha impostato l'hash della password (l'account è bloccato). È possibile confrontare questa impostazione con il valore in OD per un utente "normale":

$ dscl localhost -read /Local/Default/Users/normaluser Password
Password: ********
$ dscl localhost -read /Local/Default/Users/normaluser AuthenticationAuthority
AuthenticationAuthority: ;ShadowHash;HASHLIST:<SALTED-SHA512>...#rest of hash data

2

Ubuntu imposta una password per l'utente nominato e la utilizza per attività a livello di superutente (root) come installazione ed eliminazione di software a livello di sistema e cancellazione / esecuzione di file e directory oltre la home directory. Un account root è infatti in atto ma senza una password assegnata un po 'nascosto. Le convenzioni di utilizzo di Canonical e Ubuntu, in effetti, ti scoraggiano dall'invocarlo direttamente.

Imposta un account utente con nome anziché impostare un account "ubuntu" generico. Questo è almeno il caso dei sistemi installati. Un account "ubuntu" generico potrebbe essere in atto se si utilizza un CD live, non ricordo, non lavoro con un CD live da un paio d'anni.

Il comportamento in MacOsX è in realtà abbastanza simile. Viene richiesto di impostare una password, che viene invocata ogni volta che si tenta di eseguire attività a livello di superutente come l'installazione o l'aggiornamento del software, ma non esiste un account denominato "root".


3
Credo che in effetti un "utente" di root. Puoi effettuare il suroot, root ha una home directory e i file possono essere di proprietà di root. Puoi fornire qualche citazione al tuo argomento secondo cui non esiste un account root?
cwd,

3
Certamente c'è un account root esplicito (uid 0, nome "root"). Ci deve essere su qualsiasi sistema simile a Unix. Semplicemente non ha una password (almeno per impostazione predefinita). Puoi persino ottenere una shell di root:, sudo bash -lquindi digita whoami. (Ma normalmente dovresti usare i sudosingoli comandi piuttosto che avere una shell interattiva in esecuzione come root.)
Keith Thompson,

Forse hai ragione, non ti sto interrogando. Se esiste un account root, hanno fatto un buon lavoro nascondendolo. Uso anche Fedora su alcune delle mie macchine e macchine virtuali e root è un account molto attivo.
Haziz,

1

Per Ubuntu: per impostazione predefinita è possibile accedere al proprio account utente appena creato.

Per eseguire qualsiasi comando come root è possibile utilizzare

sudo command

quindi inserisci la tua normale password.

L'account di root è bloccato per impostazione predefinita. Per attivare il root dalla riga di comando basta inserire

sudo passwd

quindi inserisci la password dell'utente che ha effettuato l'accesso e quindi nuove password per root. Ora puoi accedere come root usando su e quindi inserire la password di root.

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.