Monter un système de fichiers ext3 avec des privilèges utilisateur

12

J'essaie de monter un système de fichiers ext3 à partir d'une autre installation Linux afin que l'utilisateur, et non root, ait un accès complet à tous les fichiers. (J'ai vraiment besoin que l'utilisateur ait accès à ces fichiers, car je voudrais les utiliser à partir d'un autre ordinateur via sshfs, et sshfs ne donnera que les droits d'accès de l'utilisateur aux fichiers.)

Si je lance mount /dev/sda1 /mnt/whatevertous les fichiers ne sont accessibles que par root.

J'ai également essayé mount -o nosuid,uid=1000,gid=1000 /dev/sda1 /mnt/whatevercomme indiqué par une question SuperUser discutant ext4 mais qui échoue avec une erreur et dmesgrapporte:

EXT3-fs: Unrecognized mount option "uid=1000" or missing value

Comment puis-je monter le système de fichiers?

Ilari Kajaste
la source
1
Je dirais que la réponse de Gilles dans la question SuperUser que vous avez mentionnée est la bonne. En effet, alors montage page de manuel (8) n'a pas la liste uid=...et les gid=...options pour aucun des ext2 / 3/4 systèmes de fichiers.
Riccardo Murri
@Riccardo Merci, c'était la bonne solution! Montez d'abord l'ext dans un répertoire régulièrement, puis montez ce répertoire bindfs -u $(id -u) -g $(id -g)dans la destination finale. Écrivez-le comme réponse, peut-être?
Ilari Kajaste
1
Étant donné que la réponse est celle de Gilles et qu'il est également très actif sur ce forum, je lui laisse le soin de le publier à nouveau ici et de récolter le crédit mérité.
Riccardo Murri

Réponses:

19

Sur un système de fichiers ext4 (comme ext2, ext3 et la plupart des autres systèmes de fichiers d'origine Unix), les autorisations de fichier effectives ne dépendent pas de qui a monté le système de fichiers ou des options de montage, uniquement sur les métadonnées stockées dans le système de fichiers.

Si vous avez un système de fichiers amovible qui utilise des ID utilisateur différents de votre système, vous pouvez utiliser bindfspour fournir une vue de tout système de fichiers avec une propriété ou des autorisations différentes. Le système de fichiers amovible doit déjà être monté, par exemple sur /mnt/sda1; puis, si vous souhaitez qu'un utilisateur particulier apparaisse comme le propriétaire de tous les fichiers, vous pouvez exécuter quelque chose comme

mkdir /home/$user/sda1
bindfs -u $user -g $group /mnt/sda1 /home/$user/sda1
Gilles 'SO- arrête d'être méchant'
la source
1
Merci de moi aussi! Avec un petit ajustement, cela fonctionne également pour des appareils comme par exemple les DVD-ROM SATA branchés à chaud (qui était le périphérique avec lequel j'ai eu des problèmes). CEPENDANT, le périphérique sera toujours monté 000pour une raison quelconque (d ---------), vous devez donc spécifier -p 700la bindfsligne pour accéder aux fichiers sur le DVD via dolphin/ nautilusetc., par exemple.
erreur de syntaxe
Ce serait bien si on bindfspouvait accepter des dictionnaires pour traduire n'importe quel ensemble d'UID et de GID ...
Alexey