En Linux, ¿por qué la carpeta raíz del superusuario no está en / home?

24

Puede crear un usuario que tenga privilegios como root, y su directorio de inicio estará incluido /home/username. ¿Por qué rootobtiene su propia carpeta en el nivel superior del sistema de archivos? ¿Es solo una convención, un problema de seguridad o hay una razón relacionada con el rendimiento?

tacos_tacos_tacos
fuente
Tenga en cuenta que el rootusuario y los usuarios "admin" normalmente no son lo mismo. Un usuario "administrador" (suponiendo que esto es lo que quiere decir con "privilegios como root") es típicamente un usuario normal al que se le permite ejecutar comandos rootusando algo como sudo.
La raíz es /root, porque allí es donde el estándar del sistema de archivos dice que debería estar. : p pathname.com/fhs/pub/fhs-2.3.html
Zoredache

Respuestas:

54

Una razón: en muchos sistemas, se /homeencuentra en una partición separada (o recurso compartido de red) que puede fallar al montar y es una buena idea permitir rootiniciar sesión con su entorno habitual siempre que sea posible.

Sven
fuente
1
Esta es la misma razón por la cual la mayoría de los sistemas Unix tienen / sbin, / sbin y a / usr / bin y / usr / sbin. Los dos primeros contienen archivos binarios esenciales para activar el sistema y, por lo tanto, se encuentran en el sistema de archivos raíz.
Hennes
1
@Hennes, ¿repetiste /sbindos veces qué querías decir?
tacos_tacos_tacos
@ jshin47 Igual que la segunda parte, sin /usr/, supongo. /bin/y /sbin/.
Izkata
Hay una muy buena discusión en lists.busybox.net/pipermail/busybox/2010-December/074114.html . Creo que puede haber comenzado como un sistema de usuario único (el usuario raíz) y después de algunas mejoras (no sé si Unix se refiere a unique useralgún tipo) puede haber sido necesario agregar diferentes usuarios con diferentes configuraciones que deben residir en algún otro directorio Solo adivinando.
licorna
1
@Alberto: Unix es antiguo y las capacidades de recuperación de los sistemas modernos ni siquiera se podían imaginar en aquellos días. Hay muchas cosas en un sistema tipo Unix que ciertamente se manejarían de manera diferente desde la perspectiva de hoy. Además, lo que pones en tu carpeta raíz depende totalmente de ti.
Sven
5

el inicio de root debe estar en la partición en la que reside el sistema operativo, que por definición es /, de modo que aún puede iniciar sesión como root sin problemas si, por ejemplo, otras particiones de disco no están disponibles. / home a veces se monta en una partición separada o en una unidad separada. Si esto contiene la raíz homedir y está fuera de línea, puede encontrar dificultades con su shell de inicio de sesión. No es una buena idea si está tratando de arreglar las cosas como usuario root.

Michael Martinez
fuente