Je souhaite monter le périphérique /dev/sda3
dans le répertoire /foo/bar/baz
. Après avoir monté le répertoire, vous devez avoir l'ID utilisateur johndoe
name__. Alors j'ai fait:
Sudo -u johndoe mkdir /foo/bar/baz
stat -c %U /foo/bar/baz
johndoe
et ajouté la ligne suivante à mon /etc/fstab
:
/dev/sda3 /foo/bar/baz ext4 noexec,noatime,auto,owner,nodev,nosuid,user 0 1
Quand je fais maintenant Sudo -u johndoe mount /dev/sda3
, la commande stat -c %U /foo/bar/baz
donne root
au lieu de johndoe
name__. Quelle est la meilleure façon de monter ce système de fichiers ext4 avec uid johndoe
set?
Il n'est pas possible de forcer un propriétaire sur un disque avec un système de fichiers ext4. Seuls les systèmes de fichiers qui ne supportent pas les permissions Linux telles que fat ont un attribut de propriété/groupement: uid=value
et gid=value
. Voir le page de manuel sur le montage .
Vous devriez changer le propriétaire sur le système de fichiers monté comme dans:
Sudo chown johndoe /foo/bar/baz
Si vous devez modifier les autorisations de manière récursive:
Sudo chown -R johndoe /foo/bar/baz
... et si le groupe doit également être remplacé par johndoe
:
Sudo chown -R johndoe: /foo/bar/baz
bindfs
est la réponse. Il utilisera un système de fichiers déjà monté et en donnera une vue avec l’instrument de votre choix:
Sudo apt-get install bindfs
mkdir ~/myUIDdiskFoo
Sudo bindfs -u $(id -u) -g $(id -g) /media/diskFoo ~/myUIDdiskFoo
En supposant que le groupe défini pour les fichiers dispose des autorisations appropriées, vous devriez être en mesure de découvrir simplement son ID de groupe (GID) et de vous y ajouter.
Pour connaître l'ID de groupe d'un fichier, utilisez ls -n
. Exemple de sortie:
drwxr-xr-x 1 1000 1000 550 Jul 9 11:08 Desktop/
Vous voulez le quatrième champ pour GID, qui dans mon cas est le deuxième 1000
.
Sudo addgroup --gid GID foobar; Sudo usermod `whoami` -aG foobar
Une fois que vous avez exécuté cette tâche, vous devriez avoir le contrôle total là où les attributs de fichier du groupe le permettent.
Comme indiqué dans l'autre réponse relative aux autorisations des utilisateurs, si vous devez réparer le groupe sur certains fichiers, exécutez n parmi ceux-ci:
Sudo chown -R :foobar ./
Sudo chgrp -R foobar ./