Passwd
![]() | |
Originalautor (en) | AT & T Bell Laboratories |
---|---|
Entwickler (en) | Verschiedene Open Source und kommerziell Entwickler |
Betriebssystem | Unix, Unix-artig, Plan 9, Inferno |
Plattform | Plattformübergreifend |
Typ | Befehl |
Passwd ist ein Befehl an Unix, Plan 9, Infernound die meisten Unix-artig Betriebssysteme Wird verwendet, um die eines Benutzers zu ändern Passwort. Das vom Benutzer eingegebene Passwort wird über a ausgeführt Schlüsselableitungsfunktion a Hashed -Version des neuen Passworts, das gespeichert wird. Nur die Hashed -Version wird gespeichert; Das eingegebene Passwort wird aus Sicherheitsgründen nicht gespeichert.
Wenn sich der Benutzer anmeldet, wird das vom Benutzer während des Anmeldung im Prozess eingegebene Kennwort über dieselbe wichtige Abgabefunktion ausgeführt, und die resultierende Hashed -Version wird mit der gespeicherten Version verglichen. Wenn die Hashes identisch sind, wird das eingegebene Passwort als korrekt angesehen und der Benutzer wird authentifiziert. Theoretisch ist es für zwei verschiedene Passwörter möglich produzieren den gleichen Hash. Jedoch, Kryptografische Hash -Funktionen sind so konzipiert, dass das Finden eines Kennworts, das denselben Hash erzeugt, sehr schwierig und praktisch nicht realisierbar ist. Wenn der produzierte Hash mit dem gespeicherten Hash übereinstimmt, kann der Benutzer authentifiziert werden.
Der Befehl passWD kann verwendet werden, um Passwörter für lokale Konten zu ändern und in den meisten Systemen auch zum Ändern von Kennwörtern, die in einem verteilten Authentifizierungsmechanismus verwaltet werden, wie z. Nis, Kerberos, oder LDAP.
Passwortdatei
Das /etc/passwd
Datei ist eine textbasierte Datenbank mit Informationen zu Benutzer das könnte Einloggen in Das System oder andere Betriebssystem -Benutzeridentitäten, die laufende Prozesse besitzen.
In vielen Betriebssystemen ist diese Datei nur eine von vielen möglichen Hinterliegen für die allgemeineren Passwd Name Service.
Der Name der Datei stammt aus einer seiner anfänglichen Funktionen, da er die Daten enthielt, die zur Überprüfung verwendet wurden Passwörter von Benutzerkonten. Jedoch auf modern Unix Systeme Die sicherheitsempfindlichen Kennwortinformationen werden stattdessen häufig in einer anderen Datei mit Schattenkennwörtern oder anderen Datenbankimplementierungen gespeichert.
Das /etc/passwd
Datei hat normalerweise Dateisystemberechtigungen Dadurch kann es von allen Benutzern des Systems lesbar sein (weltlesbar), obwohl es nur durch die modifiziert werden darf Superuser oder durch Verwendung einiger spezieller privilegierter Befehle.
Das /etc/passwd
Datei ist a Textdatei mit einem Rekord pro Linie, jeder beschreibt a Benutzerkonto. Jeder Rekord besteht aus sieben Feldern, die von getrennt von getrennt sind Kolons. Die Bestellung der Aufzeichnungen in der Datei ist im Allgemeinen unwichtig.
Ein Beispielaufzeichnung kann sein:
JSmith: x: 1001: 1000: Joe Smith, Raum 1007, (234) 555-8910, (234) 555-0044, E-Mail:/home/jsmith:/bin/sh
Die Felder, damit von links nach rechts, sind:[1]
-
jsmith
: Benutzername: Die Zeichenfolge, die ein Benutzer beim Anmelden beim Betriebssystem eingeben würde: die Logname. Muss eindeutig für Benutzer sein, die in der Datei aufgeführt sind. -
x
: Informationen zur Überprüfung des Benutzers Passwort. Das Format ist das gleiche wie das des analogen Feldes in der Schattenkennwort Die Datei, mit der zusätzlichen Konvention, die sie auf "x" festlegt, bedeutet, dass das tatsächliche Kennwort in der Schattendatei vorhanden ist, ein häufiges Auftreten für moderne Systeme.[2] -
1001
: Benutzerkennung Nummer, vom Betriebssystem für interne Zwecke verwendet. Es muss nicht einzigartig sein. -
1000
: Gruppenkennung Nummer, die die primäre Gruppe des Benutzers identifiziert; Alle Dateien, die von diesem Benutzer erstellt werden, können zunächst für diese Gruppe zugegriffen werden. -
Joe Smith,Room 1007...
: GECOS -Feld, Kommentar, der die Person oder das Konto beschreibt. In der Regel handelt es sich um eine Reihe von von Kommas getrennten Werten, einschließlich des vollständigen Namens und Kontaktdaten des Benutzers.[3]
-
/home/jsmith
: Pfad zum Benutzer Heimverzeichnis. -
/bin/sh
: Programm, das jedes Mal gestartet wird, wenn sich der Benutzer in das System anmeldet. Für einen interaktiven Benutzer ist dies normalerweise eines der Systeme des Systems Befehlszeilen -Dolmetscher (Muscheln).
Schattendatei
/etc/Shadow
wird verwendet, um die Sicherheitsniveau der Passwörter zu erhöhen, indem alle Zugriff auf den Benutzer auf Hash -Kennwort einschränken. In der Regel werden diese Daten in Dateien gehalten, die im Besitz von und zugreifen und nur von der zugänglich sind Super Benutzer.
Systemadministratoren können die Wahrscheinlichkeit von Brute-Force-Angriffen verringern, indem sie die Liste der Hash-Passwörter für nicht privilegierte Benutzer unlesbar machen. Der offensichtliche Weg, dies zu tun, besteht darin, das zu machen Passwd
Datenbank selbst lesbar nur vom Root -Benutzer. Dies würde jedoch den Zugriff auf andere Daten in der Datei einschränken, wie z. B. Benutzername-Userid-Zuordnungen, die viele vorhandene Versorgungsunternehmen und Bestimmungen brechen würden. Eine Lösung ist eine "Shadow" -Kennwortdatei, um die Kennworthashes von den anderen Daten im Weltlesen getrennt zu halten Passwd Datei. Für lokale Dateien ist dies normalerweise /etc/Shadow
an Linux und Unix -Systeme oder /etc/master.passwd
an BSD Systeme; Jeder ist nur durch lesbar durch Wurzel. (Der Root-Zugriff auf die Daten wird als akzeptabel angesehen, da auf Systemen mit dem traditionellen Sicherheitsmodell "Allmächtiges Root" der Stammbenutzer in jedem Fall auf andere Weise auf andere Weise erhalten kann.) Praktisch alle jüngsten Unix-artig Betriebssysteme verwenden Schattenkennwörter.
Die Shadow -Passwort -Datei löst das Problem des Zugriffs von Angreifer auf Hashed -Passwörter nicht vollständig, da einige Netzwerkauthentifizierungsschemata durch Übertragen des Hashed -Passworts über das Netzwerk (manchmal in Klartext, z.B., Telnet[4]), es anfällig für Abfangen. Kopien von Systemdaten wie Systemsicherungen, die an Band- oder optische Medien geschrieben wurden, können auch ein Mittel sein, um illegal die Hash -Passwörter zu erhalten. Darüber hinaus müssen die Funktionen, die von legitimen Kennwortprüfprogrammen verwendet werden, so geschrieben werden, dass böswillige Programme keine große Anzahl von Authentifizierungsprüfungen mit hohen Geschwindigkeitsraten durchführen können.
Unabhängig davon, ob das Passwort -Schatten auf ein bestimmtes System wirksam ist, kann die PassWD -Datei von allen Benutzern so lesbar sind, so dass verschiedene Systemversorgungsunternehmen (z. B., Grep) kann funktionieren (z. B. um sicherzustellen, dass im System vorhandene Benutzernamen in der Datei gefunden werden können), während nur der Root -Benutzer darauf schreiben kann. Ohne Passwort -Schatten bedeutet dies, dass ein Angreifer mit nicht privilegiertem Zugriff auf das System die Hashed -Form des Passworts jedes Benutzers erhalten kann. Diese Werte können verwendet werden, um a zu montieren Brute -Force -Angriff Offline testen mögliche Passwörter gegen die Hashed -Passwörter relativ schnell, ohne dass Systemsicherheitsregelungen zur Erkennung einer abnormalen Anzahl von fehlgeschlagenen Systemen aufmerksam gemacht werden Anmeldung Versuche. Besonders wenn der Hash nicht gesalzen ist, ist es auch möglich, diese Hashed -Passwörter nachzuschlagen Regenbogentische, Datenbanken, die speziell zum Zurückgeben eines Passworts für einen eindeutigen Hash zurückgelegt wurden.
Mit einem schattenkennwortnutzenden Passwortschema, die, die /etc/passwd
Die Datei zeigt normalerweise ein Zeichen wie 'an'*
', oder 'x
'Im Feld Kennwort für jeden Benutzer anstelle des Hashed -Passworts und im Hashed -Passwort und /etc/Shadow
Enthält normalerweise die folgenden Benutzerinformationen:
- Benutzeranmeldungsname
- Salz und Hashed -Passwort oder ein Statusausnahmewert, z.
-
$ id $ salt $ hashed
die druckbare Form eines Passwort -Hashs, wie er produziert wird Krypta (c), wo$ id
ist der verwendete Algorithmus. Andere Unix-ähnliche Systeme können unterschiedliche Werte haben wie Netbsd. Schlüsselstrecke wird verwendet, um zu erhöhen Passwort knacken Schwierigkeitsgrad, bei der standardmäßig 1000 Runden modifizierter MD5 verwendet werden,[5] 64 Runden Blowfish, 5000 Runden SHA-256 oder SHA-512.[6] Die Anzahl der Runden kann variiert werden für Kugelfisch, oder für SHA-256 und SHA-512 durch Verwendung$ A $ runden = x $
, wo "a" und "x" die Algorithmus -IDs und die Anzahl der Runden sind. Gemeinsame ID -Werte umfassen:[7] - Leere Zeichenfolge - Kein Passwort, das Konto hat kein Passwort (von PASSWD auf Solaris mit "NP" gemeldet).[8]
- "!", "*" - Das Konto ist kennwortsperrt, der Benutzer kann sich nicht über die Kennwortauthentifizierung anmelden, aber andere Methoden (z. B. SSH -Taste, Anmeldung als Root) sind möglicherweise noch zulässig.
- "*Lk*" - Das Konto selbst ist gesperrt, der Benutzer kann sich nicht anmelden.
- "*Np*", "!!" - Das Passwort wurde noch nie festgelegt[9]
-
- Tage seit Epoche der letzten Passwortänderung
- Tage bis zur Veränderung erlaubte
- Tage vor der Änderung erforderlich
- Tage Warnung vor Ablauf
- Tage nach keinem Anmeldung vor dem Konto ist gesperrt
- Tage seit Epoch, wenn das Konto abläuft
- Reserviert und nicht genutzt
Das Format der Schattendatei ist einfach und im Grunde genommen identisch mit dem der Kennwortdatei, einer Zeile pro Benutzer, bestellten Feldern in jeder Zeile und von Colons getrennten Felder. Viele Systeme erfordern, dass die Reihenfolge der Benutzerzeilen in der Schattendatei mit der Reihenfolge der entsprechenden Benutzer in der Kennwortdatei identisch ist.
Geschichte
Vor dem Schattieren des Passworts wurde das Hashed -Passwort eines UNIX -Benutzers im zweiten Feld seines Datensatzes in der /etc/passwd
Datei (innerhalb des oben beschriebenen Siebenfeldformats).
Passwort beschattet wurde zuerst in UNIX -Systemen mit der Entwicklung von Sonnenos Mitte der 1980er Jahre,[10] System v Release 3.2 im Jahr 1988 und BSD4.3 Reno im Jahr 1990. Anbieter, die Ports aus früheren Unix -Veröffentlichungen durchgeführt hatten, enthielten nicht immer die neuen Kennwort -Schattenfunktionen in ihre Veröffentlichungen und ließen Benutzer dieser Systeme für Kennwortdateiangriffe ausgesetzt.
Systemadministratoren können auch die Speicherung von Passwörtern in verteilten Datenbanken wie z. Nis und LDAP, und nicht in Dateien auf jedem verbundenen System. Bei NIS wird der Schattenkennwortmechanismus häufig noch auf den NIS -Servern verwendet. In anderen verteilten Mechanismen wird das Problem des Zugriffs auf die verschiedenen Benutzerauthentifizierungskomponenten durch die Sicherheitsmechanismen des zugrunde liegenden Datenrepositorys behandelt.
1987 der Autor des Originals Schatten Passwort Suite, Julie Haugh, erlebte einen Computer-Einbruch und schrieb die erste Veröffentlichung der Shadow Suite, die die enthielt Anmeldung
, Passwd
und su
Befehle. Die ursprüngliche Veröffentlichung, die für den SCO geschrieben wurde Xenix Betriebssystem, wurde schnell auf andere Plattformen portiert. Die Schattensuite wurde auf Linux 1992 ein Jahr nach der ursprünglichen Ankündigung des Linux -Projekts und wurde in vielen frühen Verteilungen aufgenommen und wird weiter Linux Verteilungen.
In der Vergangenheit musste unterschiedliche Befehle zur Änderung von Kennwörtern in verschiedenen Authentifizierungsschemata geändert werden. Zum Beispiel war der Befehl zum Ändern eines NIS -Passworts yppasswd. Auf diese Weise mussten Benutzer die verschiedenen Methoden zur Änderung von Kennwörtern für verschiedene Systeme bewusst waren, und führte auch zu verschwenderischer Doppelarbeit des Codes in den verschiedenen Programmen, die dieselben Funktionen mit unterschiedlichen Ausführungen erfüllten Rücken endet. In den meisten Implementierungen gibt es jetzt einen einzelnen Passwd -Befehl, und die Steuerung, wo das Passwort tatsächlich geändert wird Steckbare Authentifizierungsmodule (PAMS). Beispielsweise wird die Art des verwendeten Hashs durch die Konfiguration der diktiert pam_unix.so
Modul. Standardmäßig die MD5 Hash wurde verwendet, während aktuelle Module auch stärkere Hashes wie z. Kugelfisch, SHA256 und SHA512.
Siehe auch
- CHSH
- Krypta (c) (die Bibliotheksfunktion) und Krypta (Unix) (das Dienstprogramm)
- Getent
- Sicherheits -Account Manager (das Microsoft Windows Äquivalent der Passwortdatei)
- Unix -Sicherheit
- VIPW
Verweise
- ^ Verständnis
/etc/passwd
Datei Format - ^ "Passwd (5) - Linux Manual Page". Man7.org. Abgerufen 2014-08-25.
- ^ Adams, David. "Wie man die Datei /etc /passwd unter Linux anzeigt und versteht".
- ^ RFC 2877: 5250 Telnet -Verbesserungen
- ^ "Passwort Hashing mit MD5-Krypt in Bezug auf MD5-Vidars Blog".
- ^ "Implementierung von SHA512-Krypt gegen MD5-Krypt-Vidars Blog".
- ^ "Modular Crypt Format". Archiviert von das Original am 2022-01-07. Abgerufen 2022-01-29.
- ^ "Solaris - Passwd (1)". cs.bgu.ac.il. Archiviert von das Original Am 2013-12-17.
- ^ "6.3. Red Hat Enterprise Linux-spezifische Informationen". Access.redhat.com. Abgerufen 2014-08-25.
- ^ "Passwd.Adjunt (5) in Sunos-4.1.3".Modman.unixdev.net. Abgerufen 2016-01-03.
Externe Links
- Manuelle Seite von UNIX First Edition, die /etc /passwd beschreibt
- Freebsd Allgemeine Befehle Handbuch : Aktualisieren Sie das Authentifizierungs -Token eines Benutzers -
- Plan 9 Programmierhandbuch, Volume 1 - -
- Inferno Allgemeine Befehle Handbuch - -
- Authconfig, ein Befehlszeilen-Tool zur Steuerung der Verwendung von Schattenkennwörtern