Gibt es ein root-Passwort für OS X und Ubuntu?

13

Wenn Sie eine neue Ubuntu- oder OS X-Installation einrichten, wird in der Regel ein Benutzer für Sie erstellt. Unter OS X ist dies der Benutzername, den Sie auswählen. Unter Ubuntu (der Serverversion) wird normalerweise der ubuntuBenutzer erstellt.

So wie ich es verstehe, gibt es auch einen Root-Benutzer, auf den Sie über so etwas wie zugreifen können sudo su - rootund der das Kennwort des ubuntuoder der von Ihnen erstellten Benutzer eingibt , der Teil der Administratorgruppe ist. Sobald Sie zu wechseln, rootkönnen Sie den passwdBefehl verwenden und das root-Passwort ändern.

Aber wie war rootdas Passwort davor? Existiert es? Ist es eine zufällige Folge von Zahlen und Buchstaben? Wie geht das System damit um?

cwd
quelle
1
Unter Ubuntu brauchst du nur sudo su. Das rootKonto wird standardmäßig übernommen.
Nathan Osman
1
Unter Ubuntu wird sues nur für den Wechsel zu Nicht-Root- Benutzern benötigt. Geben Sie Folgendes ein, um einen einzelnen Befehl als root auszuführen sudo command. Geben Sie Folgendes ein, um eine Root-Shell zu erhalten sudo -i.
Scott Severance
Und wenn Sie jemandem in den Ubuntu-Foren sagen, wie man ein Root-Passwort festlegt oder ein Benutzerpasswort über eine Live-CD startet und zurücksetzt, kann Ihr Konto für 30 Tage gesperrt werden ... fragen Sie mich, woher ich das weiß ... Das Ubuntu Leute wirklich wollen sie dich immer sudo zu verwenden, ein Passwort festgelegt für Wurzel Sie nicht wollen
ivanivan

Antworten:

12

Ich kann nur für Ubuntu antworten.
In Ubuntu hat der rootBenutzer ein gesperrtes Passwort. Aus der passwdManpage:

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

Sie können das !in sehen /etc/shadow.

Ein Benutzer mit einem gesperrten Konto kann sein Passwort nicht ändern, aber root kann es, ohne vorher das alte Passwort einzugeben.

Enzotib
quelle
10

So entsperren Sie (?) Oder erstellen einen tatsächlichen Root-Benutzer in OSX:

  1. Systemeinstellungen
  2. Benutzer & Gruppen
  3. Anmeldeoptionen (hier auf Sperren und Authentifizieren klicken)
  4. Klicken Sie auf "Beitreten" (NAS)
  5. Öffnen Sie das Verzeichnisdienstprogramm
  6. Klicken Sie auf das Schloss (erneut authentifizieren)
  7. Menü Bearbeiten -> Root-Benutzer aktivieren
  8. (Menü Bearbeiten -> Passwort ändern)

Genießen !

Yossi Farjoun
quelle
+1 für die gute Beschreibung der Mac-GUI. Ich kannte nur die Befehlszeilenmethode zum Aktivieren des Root-Kontos.
Andrew J. Brehm
Ja, ich war erstaunt, als der Apple-Kundendienst mich durch die Schritte führte, um dies zu tun.
Yossi Farjoun
7

Wie Enzotib sagte, hat Ubuntu ein Root-Konto, aber es ist standardmäßig gesperrt.

Nun zu Macs:

Wie Sie wahrscheinlich erraten können, wird root (zusammen mit allen Daemon-Konten) nicht im Abschnitt "Benutzer und Gruppen" der Einstellungen angezeigt.

Auf meinem Mac /etc/passwdgibt es einen Eintrag für rootund eine Nachricht

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.

Ich habe erfolglos versucht, die Open Directory-Benutzerliste zu finden, aber in den Konfigurationen wurde erwähnt, dass Root-Berechtigungen explizit erteilt werden, obwohl dies impliziert ist. Ich wurde beim erstmaligen Einrichten des Computers nie zur Eingabe eines Root-Passworts aufgefordert, daher schätze ich, dass das Root-Konto wie in Ubuntu gesperrt ist. Ich habe nicht versucht (und wollte es auch nicht wirklich), root ein Passwort zu geben und mich damit anzumelden, aber Sie könnten es wahrscheinlich.

Die Passwd-Zeile:

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

Der Perl-Befehl aus Keith's Kommentar fügt ein :0am Ende. Kein Passwort-Hash. Ich kann auch keine Schattendatei finden. Ich konnte sie nirgendwo finden, um zu überprüfen, ob root möglicherweise ein Passwort hat.

Kevin
quelle
Was ist die Ausgabe von perl -e 'print join(":", getpwuid(0)), "\n"'? ( HINWEIS : Wenn es etwas enthält, das aussieht wie ein gehashtes Passwort, posten Sie es nicht hier.)
Keith Thompson
@KeithThompson Gepostet, nichts besonderes. Ich weiß über den Hash Bescheid, aber ich schätze Sie, einschließlich der Warnung für Benutzer, die dies möglicherweise nicht tun.
Kevin
1
Was ist mit dem gleichen Perl-Befehl mit Ihrer eigenen UID? Zeigt das ein gehashtes Passwort? (Natürlich darf der Hash nicht veröffentlicht werden.)
Keith Thompson
1
Hmm. Unter getpwuid()MacOS geschieht dies möglicherweise absichtlich, um zu vermeiden, dass vertrauliche Informationen preisgegeben werden (obwohl es etwas geben muss , das auf das Hash-Passwort zugreifen kann).
Keith Thompson
1
Ich habe online gesucht und es scheint, dass sie im letzten Betriebssystem einen Schatten hatten, aber ich kann keinen in lion finden.
Kevin
7

Das root-Passwort unter Mac OS X wird (wie von Kevin erwähnt) in Open Directory gespeichert. Um die Existenz des Root-Benutzers zu bestätigen, ist ein einfaches grep erforderlich:

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

So lesen Sie die Root-Kennwortinformationen aus Open Directory:

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

Im Standardfall (wie gezeigt) ist für den Root-Benutzer kein Kennwort-Hash festgelegt (das Konto ist gesperrt). Sie können diese Einstellung mit dem Wert in OD für einen "normalen" Benutzer vergleichen:

$ 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
Mark Glossop
quelle
2

Ubuntu richtet ein Kennwort für den angegebenen Benutzer ein und verwendet es für Aufgaben auf Superuser- (Root-) Ebene wie das Installieren und Löschen systemweiter Software sowie das Löschen / Ausführen von Verzeichnissen und Dateien außerhalb Ihres Home-Verzeichnisses. Ein Root-Account ist zwar vorhanden, aber ohne vergebenes Passwort etwas versteckt. Canonical- und Ubuntu-Nutzungskonventionen halten Sie davon ab, sie direkt aufzurufen.

Es wird ein benanntes Benutzerkonto eingerichtet, anstatt ein generisches "Ubuntu" -Konto einzurichten. Das ist zumindest bei installierten Systemen der Fall. Wenn Sie eine Live-CD verwenden, ist möglicherweise ein allgemeiner Ubuntu-Account vorhanden. Ich kann mich nicht erinnern, dass ich seit einigen Jahren nicht mehr mit einer Live-CD gearbeitet habe.

Das Verhalten in MacOsX ist eigentlich ziemlich ähnlich. Sie werden aufgefordert, ein Kennwort festzulegen, das jedes Mal aufgerufen wird, wenn Sie versuchen, Aufgaben auf Superuser-Ebene auszuführen, z. B. das Installieren oder Aktualisieren von Software, aber es gibt kein Konto mit dem Namen "root".

haziz
quelle
3
Ich glaube da nämlich ein root "user". Sie können suroot sein, root hat ein Home-Verzeichnis und Dateien können root gehören. Können Sie etwas zu Ihrem Argument anführen, dass es keinen Root-Account gibt?
KWD
3
Natürlich gibt es ein explizites Root-Konto (UID 0, Name "root"). Es muss auf jedem Unix-ähnlichen System vorhanden sein. Es hat einfach kein Passwort (zumindest standardmäßig). Sie können sogar eine Root-Shell erhalten: sudo bash -lund dann eingeben whoami. (Normalerweise sollten Sie diese Option jedoch sudofür einzelne Befehle verwenden, anstatt eine interaktive Shell als Root auszuführen.)
Keith Thompson,
Sie vielleicht richtig, ich frage Sie nicht. Wenn es ein Root-Konto gibt, haben sie gute Arbeit geleistet, es zu verstecken. Ich benutze Fedora auch auf einigen meiner Maschinen und VMs und root ist ein sehr aktiver Account.
Haziz
1

Für Ubuntu: Standardmäßig können Sie auf Ihr neu erstelltes Benutzerkonto zugreifen.

Sie können einen beliebigen Befehl als root ausführen

sudo command

Geben Sie dann Ihr normales Passwort ein.

Das Root-Konto ist standardmäßig gesperrt. Um root über die Befehlszeile zu aktivieren, geben Sie einfach Folgendes ein

sudo passwd

Geben Sie dann das Passwort Ihres angemeldeten Benutzers und anschließend neue Passwörter für root ein. Jetzt können Sie sich als root anmelden su und anschließend das root-Passwort eingeben.

kushdilip
quelle