Comment puis-je monter un système de fichiers, mapper des ID utilisateur?

16

Je peux monter une partition ext4 avec succès, le problème est que tous les fichiers sur la partition appartiennent à l'utilisateur avec l'ID utilisateur 1000. Sur une machine, mon ID utilisateur est 1000, mais sur une autre c'est 1010. Mon nom d'utilisateur est le même sur les deux machines , mais je me rends compte que le système de fichiers stocke les ID utilisateur, pas les noms d'utilisateur.

Je pourrais corriger la propriété du fichier avec quelque chose comme ceci:

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

Mais alors je devrais corriger à nouveau la propriété des fichiers à 1000 lorsque je monte ce disque externe sur une autre machine.

Ce que je voudrais, c'est donner mountune option disant map userid 1000 to 1010, afin que je ne doive pas réellement modifier les fichiers. Y a-t-il un moyen de faire cela?

Flimm
la source
Je recherche cette question un an et demi plus tard, je trouve ça, je veux voter, pour découvrir que je pose moi-même cette question!
Flimm
Vous pouvez toujours en faire un favori, même si vous ne pouvez pas voter: -O
Anthon

Réponses:

18

Jetez un œil au package bindfs . bindfs est un système de fichiers FUSE qui permet diverses manipulations des autorisations de fichiers, de la propriété des fichiers, etc. au-dessus des systèmes de fichiers existants.

Vous recherchez spécifiquement l' option --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. 

Donc , pour mapper vos fichiers avec ID utilisateur 1001 /mnt/wrongà /mnt/correctl'ID d'utilisateur 1234, exécutez la commande suivante :

sudo bindfs --map=1001/1234 /mnt/wrong /mnt/correct
Tho85
la source
J'arrive fuse: unknown option `--map=1004/1002'sur mon serveur Ubuntu 12.04.5 LTS. Je me demande si ma version de bindfs ou de fusible est obsolète ...
Zero3
1

Vous pouvez utiliser bindfs . Il peut lier le système de fichiers à un autre point de montage avec différents uid / gid. Cependant, je pense que je voudrais juste changer l'uid donc c'est la même chose sur les deux systèmes.

mégahallon
la source