¿Cómo puedo montar un sistema de archivos, mapeando ID de usuario?

16

Puedo montar con éxito una partición ext4, el problema es que todos los archivos de la partición son propiedad del usuario con userid 1000. En una máquina, mi userid es 1000, pero en otra es 1010. Mi nombre de usuario es el mismo en ambas máquinas , pero me doy cuenta de que el sistema de archivos almacena ID de usuario, no nombres de usuario.

Podría corregir la propiedad del archivo con algo como lo siguiente:

find /mnt/example -exec chown -h 1010 {} \;

Pero luego tendría que corregir la propiedad del archivo nuevamente a 1000 cuando monte esta unidad externa en otra máquina.

Lo que me gustaría es dar mountuna opción que diga map userid 1000 a 1010, para que no tenga que modificar ningún archivo. ¿Hay alguna forma de hacer esto?

Flimm
fuente
Busqué esta pregunta un año y medio después, encontré esto, quise votar, ¡solo para descubrir que hice esta pregunta yo mismo!
Flimm
Todavía puede convertirlo en un favorito, incluso si no puede votar: -O
Anthon

Respuestas:

18

Echa un vistazo al paquete bindfs . bindfs es un sistema de archivos FUSE que permite diversas manipulaciones de permisos de archivos, propiedad de archivos, etc., además de los sistemas de archivos existentes.

Está buscando específicamente la opción --map de bindfs:

--map=user1/user2:@group1/@group2:..., -o map=...
    Given a mapping user1/user2, all files owned by user1 are shown as owned by user2. When user2 creates files, they are chowned to user1 in the underlying directory. When files are chowned to user2, they are chowned to user1 in the underlying directory. Works similarly for groups.

    A single user or group may appear no more than once on the left and once on the right of a slash in the list of mappings. Currently, the options --force-user, --force-group, --mirror, --create-for-*, --chown-* and --chgrp-* override the corresponding behavior of this option.

    Requires mounting as root. 

Así que para los archivos de mapa con el ID de usuario en 1001 /mnt/wronga /mnt/correctla identificación del usuario 1234, ejecute este comando:

sudo bindfs --map=1001/1234 /mnt/wrong /mnt/correct
Tho85
fuente
Me estoy poniendo fuse: unknown option `--map=1004/1002'en mi servidor Ubuntu 12.04.5 LTS. Me pregunto si mi versión de bindfs o fusible está desactualizada ...
Zero3
1

Puedes usar bindfs . Puede vincular el sistema de archivos a algún otro punto de montaje con diferentes uid / gid. Sin embargo, creo que simplemente cambiaría el uid para que sea igual en ambos sistemas.

megahallon
fuente