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.


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


6
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


1
Bei einigen Setups befinden sich die Passwörter nicht einmal in dieser Datei, da sie sich in LDAP oder einem anderen gesicherten Backend befinden!
Tim
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.