Warum ist / etc / passwd öffentlich zum Lesen zugänglich?
12
Gibt es einen Grund, warum / etc / passwd weltweit lesbar sein sollte? Es ist nicht wie bei Passwort-Hashes, die nicht offen gelegt werden sollten, ich möchte nur wissen, warum.
Ich denke, wenn Ihre Shell weiß, ~userdass sie in das Home-Verzeichnis des Benutzers expandiert , sieht sie tatsächlich danach /etc/passwd, also ist es schön, dass sie lesbar ist, anstatt allen Shells erhöhte Rechte zu erteilen.
Ulrich Schwarz
Das Erweitern von "~" ist eine Funktion der Variablen "$ HOME". Setzen Sie "$ HOME" auf "/ var / tmp". Wenn Sie dann "cd ~" eingeben, wird es in "/ var / tmp" geändert.
Saurabh Hirani
Antworten:
14
/etc/passwdwird manchmal als Benutzerdatenbank bezeichnet. Das sollte uns einen Hinweis geben, warum es für alle lesbar sein muss. Jede Dienstprogramm , dass Prüft Dateimetadaten muss in der Lage sein zu lesen /etc/passwd(und /etc/group) um in der Lage zu sein , die numerische IDs vom Kernel und seine Subsysteme auf die menschenfreundlichen Namen verwendet , um zu beheben , dass wir verlassen. Tools, die Ihr Home-Verzeichnis finden müssen (E-Mail-Zustellungsagenten usw.) /etc/passwd, inetdurchsuchen diese Informationen und Miniserver fingerdsuchen Ihre Details in /etc/passwd.
Wie bereits an anderer Stelle erwähnt, enthält die Datei keine besonders sensiblen Daten, da moderne Systeme die Kennwort-Hashes in eine Shadow-Kennwort-Datei schreiben, die nur von root gelesen werden kann.
Ist es dann aus historischen Gründen so, dass es aufgerufen wird, passwdwenn dieser Name tatsächlich nicht widerspiegelt, was in der Datei enthalten ist?
Emanuel Berg
8
Ja, ich denke schon. In sehr frühen Versionen von UNIX wurden die Passwörter tatsächlich in /etc/passwd(zunächst unverschlüsselt!) Gespeichert . Als Kennwort-Hashes in eine Schattendatei verschoben wurden, gab es bereits viele Dienstprogramme, die sich auf andere Informationen stützten. /etc/passwdDer Name blieb also erhalten.
D_Bye
7
/etc/passwdenthält keine Passwort-Hashes (also kein großes Problem). /etc/shadowenthält Passwort-Hashes und kann nur von root (& shadow group) gelesen werden
~user
dass sie in das Home-Verzeichnis des Benutzers expandiert , sieht sie tatsächlich danach/etc/passwd
, also ist es schön, dass sie lesbar ist, anstatt allen Shells erhöhte Rechte zu erteilen.Antworten:
/etc/passwd
wird manchmal als Benutzerdatenbank bezeichnet. Das sollte uns einen Hinweis geben, warum es für alle lesbar sein muss. Jede Dienstprogramm , dass Prüft Dateimetadaten muss in der Lage sein zu lesen/etc/passwd
(und/etc/group
) um in der Lage zu sein , die numerische IDs vom Kernel und seine Subsysteme auf die menschenfreundlichen Namen verwendet , um zu beheben , dass wir verlassen. Tools, die Ihr Home-Verzeichnis finden müssen (E-Mail-Zustellungsagenten usw.)/etc/passwd
,inet
durchsuchen diese Informationen und Miniserverfingerd
suchen Ihre Details in/etc/passwd
.Wie bereits an anderer Stelle erwähnt, enthält die Datei keine besonders sensiblen Daten, da moderne Systeme die Kennwort-Hashes in eine Shadow-Kennwort-Datei schreiben, die nur von root gelesen werden kann.
quelle
passwd
wenn dieser Name tatsächlich nicht widerspiegelt, was in der Datei enthalten ist?/etc/passwd
(zunächst unverschlüsselt!) Gespeichert . Als Kennwort-Hashes in eine Schattendatei verschoben wurden, gab es bereits viele Dienstprogramme, die sich auf andere Informationen stützten./etc/passwd
Der Name blieb also erhalten./etc/passwd
enthält keine Passwort-Hashes (also kein großes Problem)./etc/shadow
enthält Passwort-Hashes und kann nur von root (& shadow group) gelesen werdenquelle