Historias
Slashboxes
Comentarios
 
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • Obviamente tienes razón, aunque fuse -como su propio nombre indica- está pensado para crear un sistema de archivos dentro del espacio de usuario, es decir, esta pensado para que un usuario pueda montar y desmontar sistemas de ficheros sin precisar privilegios de ningún tipo (salvo pertenecer al grupo fuse, obviamente).

    Aunque si quieres compartir con otro usuario lo que has montado vía fuse, siempre puedes recurrir a samba y listo. Pero en este caso veo más lógico, siempre y cuando tengamos permisos, montarlo directamente en el sistema vía mount; de esta forma todos los usuarios tendrán acceso.

    Por cierto, no hay escalada de privilegios en el bug del que hablas. O al menos yo no la veo (puede que este equivocado). En el bug al que enlazas hablan de un ataque de denegación de servicios vía fuse desde usuarios que tengan privilegios de acceso a fuse. Es decir, este ataque solo lo puede llevar a cabo alguien que tenga acceso a fuse; y con él no conseguirá escalar privilegios, solo petará fuse o incluso dejará colgada la máquina. En cualquier caso ya hay parches para solucionarlo.

    Oooops, la hay, "ls -l /usr/bin/fusermount" da "-rwsr-x--- 1 root fuse ...", setuid.
    Esta parte ya no la entiendo. Lo siento no veo a donde pretendes llegar.
    --
    blog.guillen.io [guillen.io]
    [ Padre ]
  • por tazok (13954) el Miércoles, 23 Junio de 2010, 00:54h (#1224208)
    ( http://barrapunto.com/ | Última bitácora: Lunes, 21 Junio de 2010, 05:00h )
    FUSE esta muy bien, pero tiene a la vez la ventaja de no escalar privilegios y la desventaja de no escalar privilegios. Me explico: si lo monta fulanito, no puede acceder ningun otro usuario, solo fulanito, por lo que los multiple logins (a la vieja usanza o con los nuevos sistemas, o incluso los scripts y demonios de sistema) no pueden ver lo mismo (ni siquiera root). Que no diga que haga falta, pero a veces viene bien el poder compartir cosas directamente.

    ¿Puedes aclarar lo que dices aquí?

    fusermount escala privilegios al igual que mount y umount porque colocar un dispositivo de bloques en un directorio del sistema de archivos requiere privilegios (CAP_SYS_ADMIN), también necesita privilegios para escribir en /etc/mtab ya que un usuario "normal" no puede hacerlo.

    En particular, ésto que dices no lo entiendo:

    no pueden ver lo mismo (ni siquiera root).
    Root puede ver todo lo que se haya montado porque tiene CAP_DAC_READ_SEARCH para ello. Por poder puede hasta desmontarte el dispositivo (CAP_SYS_ADMIN), borrártelo (CAP_DAC_OVERRIDE) e incluso cambiarle de dueño a otro usuario (CAP_SYS_CHOWN) sin tener que darte ninguna explicación ni pedirte permiso.

    A no ser que alguien sepa como montar FUSE con permisos diferentes, por ejemplo de solo lectura para compartir ficheros.

    En los montajes en relación de permisos hay un concepto clave, si el sistema de archivos en sí soporta la cuestión permisos o no. Si los soporta NO puedes cambiarlos a través del montaje salvo para poner dicho sistema de archivos como solo lectura o lectura/escritura (es el mismo efecto que si tú quitas el permiso de escritura al dispositivo de /dev/). Pero por ejemplo no puedes poner todos los permisos ASÍ en por ejemplo rw-r--r-- ya que dicha información se saca del ínodo.

    Si los permisos no están soportados (como en el caso fat) sí puede hacerse puesto que el vfs le asigna unos genéricos a todos los archivos)

    Dado que fusermount usa a mount mírate el manual de mount.
    [ Padre ]