¿Por qué los permisos predeterminados para / media / username root: root?

20

He modificado los permisos /media/usernamede root:roota username:root[1]. Entiendo que una ubicación centrada en el usuario permite permisos centrados en el usuario [2].

Pero, ¿por qué los permisos para esta carpeta root:rooten primer lugar?


[1] Para poder montar carpetas cifradas allí con Gnome EncFS Manager. Por ejemplo, ahora puedo montar una carpeta encriptada como /media/username/personal-documents.

[2] De ¿ Por qué Ubuntu ha movido los puntos de montaje predeterminados? :

La causa raíz de este cambio de comportamiento predeterminado en udisks2 parece clara: la seguridad. Es más seguro restringir el acceso a un sistema de archivos a un usuario en particular en lugar de dar acceso a todos los usuarios del sistema.

david.libremone
fuente
El montaje generalmente implica el acceso a la raíz. Puede (como lo hizo) ajustar los permisos. Sin embargo, esto de ninguna manera puede convertirse en un comportamiento "predeterminado" en Linux. Imagine lo que sucederá si cualquier usuario (no un administrador) tiene la capacidad de montar como usted lo hizo. Esto será un caos total. :)
rbaleksandar

Respuestas:

20

En mi caso, así es como se ven las cosas /media:

$ ls -l /media | grep $USER
drwxr-x---+  3 root root 4096 Jan 22 15:59 oli

Básicamente, esto significa que solo un usuario root puede interactuar con el directorio. Esto es excelente para la seguridad (ciertamente evita que otros usuarios lo vean, y mucho menos robar / eliminar / cambiar datos) pero no es ahí donde termina la historia.

Puede notar el signo más al final de la máscara de permiso. Esto significa que se está utilizando una ACL (Lista de control de acceso). Esto permite permisos mucho más granulares.

$ getfacl /media/$USER
getfacl: Removing leading '/' from absolute path names
# file: media/oli
# owner: root
# group: root
user::rwx
user:oli:r-x
group::---
mask::r-x
other::---

Es a través de ACL donde mi usuario puede ver el contenido de /media/oli. Todavía no tengo permiso para editar el contenido.

Lo que hace el montaje en escritorios modernos (tanto Gnome como KDE) es udisks2:

root      2882  0.3  0.0 195956  4048 ?        Sl   Jan16  30:35 /usr/lib/udisks/udisks-daemon
root      2887  0.0  0.0  47844   784 ?        S    Jan16   0:00 udisks-daemon: not polling any devices
root      3386  0.0  0.0 429148  6980 ?        Sl   Jan16   7:35 /usr/lib/udisks2/udisksd --no-debug

Como puede ver, se está ejecutando allí como root, por lo que cuando algo accede a él a través de DBUS, puede crear los puntos de montaje dentro de / home / $ USER y asignarlos a su usuario para que puedan editar el contenido.

Nada de eso cambia lo que dije originalmente. Solo estoy explicando cómo funciona en la práctica. Esta es la forma en que se permite que algo en su escritorio escriba en algún lugar que solo esté permitido por root, y cómo su usuario puede leerlo a pesar de una propiedad que de otro modo sería restrictiva.

Todo eso lo convierte en un entorno seguro para los datos del usuario, pero que también dificulta que el usuario se entrometa con la estructura del soporte. No pueden, por ejemplo, eliminar el punto de montaje o cambiarle el nombre, lo que podría causar problemas a menos que tengan acceso a la raíz.

Editar : Algo que se me acaba de ocurrir es que también le da al administrador un buen lugar para montar cosas para un solo usuario. Los permisos por defecto ayudan a mantener este montaje privado y protegerlo contra la intromisión del usuario. Parece que un valor predeterminado bastante sensato para algo que se hace sin el /media/$user/directorio necesitaría permisos de root.

Oli
fuente
2

Estoy de acuerdo con la otra respuesta y comentarios además de eso

root:rootpara evitar principalmente dos situaciones.
1. Riesgo de seguridad: un script de hacker que descarga / dev / zero a / media / user / que llena la partición raíz y, por lo tanto, no puede iniciar sesión o tiene un mal rendimiento.
2. Conflicto con udisk2: suponga una partición con copia de seguridad de etiqueta . Udisks lo montan @ / media / user / backup. El usuario creó manualmente el directorio anterior, lo que obligará al udisk a cambiar el punto de montaje a algo como / media / user / backup1 y, por lo tanto, los scripts de copia de seguridad, etc.

Prinz
fuente
2

La mentalidad de Linux (y * nix) en general se basa en el principio de Least amount of necessary privileges.

Por lo general, moderno Desktop Environmentsmontará sus dispositivos debajo /media/username/devicepartitionname. Esto significa que para que el dispositivo sea utilizable solo necesita ser propietario de la devicepartitionnamecarpeta y de cualquier cosa debajo de ella. Esto significa que su carpeta /media/usernameaún podría ser propiedad de root, y eso lo haría más seguro.

También montar cualquier cosa /media/usernamees una mala idea, ya que eso hará que DEintentes montar una partición en una carpeta en otra partición montada que puede conducir a un montón de diversión. (también probable pérdida de datos).

Wolfer
fuente
gracias por una respuesta simple pero no simplista ... He aclarado anteriormente que GnomeEncFS se está montando para /media/username/someplaceno /media/username... usted dice específicamente que debería ser propiedad de root, ¿ root:usernamesería mejor que username:rooten mi caso? ¿O ambos presentan el mismo problema de seguridad? (vea esta pregunta para saber por qué tengo que hacerlo de todos modos askubuntu.com/questions/392063/… )
david.libremone
@ d3vid: Depende, en el segundo caso, si no hubiera cambiado el permiso predeterminado, su usuario normal no podría escribir /media/user(ya que es 750), que es un poco mejor que el primer caso. En cuanto al montaje: históricamente, /mnty sus subcarpetas se consideran el punto de montaje predeterminado para cualquier cosa, /mediasolo se agregó para que las personas que solo quieran usar una caja de Linux sin comprender cómo funcionan las cosas no se confundan carpetas extrañas y demás /.
Wolfer
@ d3vid: En cuanto a la preocupación de seguridad: es porque las carpetas a las que tiene acceso de escritura y acceso de ejecución pueden ser utilizadas por un hacker / cracker / como quiera llamarlo para cargar binarios que luego pueden usar para obtener rootacceso tu caja (Esto se denomina escalamiento de privilegios). Aunque no debería hacer que su sistema sea deliberadamente más inseguro, existen lugares predeterminados que permiten lo mismo (y son más oscuros y, como tal, hacen menos probable que se encuentre la actividad de los piratas informáticos). Por lo tanto, la "preocupación de seguridad" en este caso podría ignorarse dependiendo de su configuración.
Wolfer
1
@Wolfer: volví a una versión de tu respuesta que no contenía lenguaje ofensivo. Tratemos de mantener las preguntas y respuestas lo más limpias posible y trate de no ofender. Gracias.
fossfreedom