Warum befindet sich der Superuser-Stammordner unter Linux nicht unter / home?

24

Sie können einen Benutzer erstellen, der über Berechtigungen wie rootverfügt und dessen Basisverzeichnis darunter fällt /home/username. Warum bekommt rootman einen eigenen Ordner auf der obersten Ebene des Dateisystems? Ist dies nur eine Konvention, ein Sicherheitsbedenken oder gibt es einen leistungsbezogenen Grund?

tacos_tacos_tacos
quelle
Beachten Sie, dass der rootBenutzer und der Benutzer "admin" normalerweise nicht dasselbe sind. Ein "Administrator" -Benutzer (vorausgesetzt, dies ist das, was Sie unter "Berechtigungen wie root" verstehen ) ist normalerweise nur ein regulärer Benutzer, der Befehle ausführen darf, die so rootetwas wie verwenden sudo.
Root ist /root, weil der Dateisystemstandard dies vorschreibt. : p pathname.com/fhs/pub/fhs-2.3.html
Zoredache

Antworten:

54

Ein Grund: Auf vielen Systemen /homebefindet sich die rootAnmeldung auf einer separaten Partition (oder Netzwerkfreigabe), die möglicherweise nicht bereitgestellt werden kann, und es ist empfehlenswert, die Anmeldung nach Möglichkeit in der üblichen Umgebung zuzulassen .

Sven
quelle
1
Dies ist der gleiche Grund, warum die meisten Unix-Systeme / sbin, / sbin und / usr / bin und / usr / sbin haben. Die ersten beiden enthalten wichtige Binärdateien zum Hochfahren des Systems und befinden sich daher im Root-Dateisystem.
Hennes
1
@Hennes hast du /sbinzweimal wiederholt was wolltest du sagen?
tacos_tacos_tacos
@ jshin47 Gleich wie der zweite Teil, ohne /usr/würde ich raten. /bin/und /sbin/.
Izkata,
Es gibt eine sehr gute Diskussion unter lists.busybox.net/pipermail/busybox/2010-December/074114.html . Ich denke, es hat möglicherweise als ein einzigartiges Benutzersystem (der Root-Benutzer) begonnen und nach einigen Verbesserungen (ich weiß nicht, ob Unix auf unique userirgendeine Art verweist ) war es möglicherweise erforderlich, verschiedene Benutzer mit unterschiedlichen Konfigurationen hinzuzufügen, auf denen sich diese befinden müssen ein anderes Verzeichnis. Einfach raten.
Licorna
1
@Alberto: Unix ist uralt und die Wiederherstellungsfähigkeiten moderner Systeme waren früher nicht einmal vorstellbar. Es gibt viele Dinge in einem Unix-ähnlichen System, die aus heutiger Sicht sicherlich anders gehandhabt würden. Außerdem liegt es ganz bei Ihnen, was Sie in Ihrem Stammordner ablegen.
Sven
5

Das Root-Verzeichnis sollte sich auf der Partition befinden, auf der sich das Betriebssystem befindet. Dies ist definitionsgemäß /, sodass Sie sich weiterhin ohne Probleme als Root anmelden können, wenn beispielsweise keine anderen Festplattenpartitionen verfügbar sind. / home wird manchmal auf einer separaten Partition oder einem separaten Laufwerk gemountet. Wenn dieses Verzeichnis das Stammverzeichnis enthält und offline ist, können Probleme mit Ihrer Anmeldeshell auftreten. Keine gute Idee, wenn Sie versuchen, als Root-Benutzer Fehler zu beheben.

Michael Martinez
quelle