Je veux monter l'appareil /dev/sda3
dans le répertoire /foo/bar/baz
. Après le montage, le répertoire devrait avoir l'uid de l'utilisateur johndoe
. J'ai donc 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 le fais maintenant, sudo -u johndoe mount /dev/sda3
la commande stat -c %U /foo/bar/baz
donne root
plutôt que johndoe
. Quelle est la meilleure façon de monter ce système de fichiers ext4 avec uid johndoe
set?
-u
ne doit pas non plus être utilisé car il contourne les restrictions d'accès des différents ID utilisateur.--map
doit être utilisé si vous souhaitez conserver les restrictions d'accès.uid
etgid
, ce qui ne fonctionnerait pas.bindfs
Est la réponse. Il prendra un système de fichiers déjà monté et fournira une vue de celui-ci avec l'uid que vous souhaitez:la source
En supposant que l'ensemble de groupes pour les fichiers dispose des autorisations appropriées, vous devriez être en mesure de découvrir 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:Vous voulez le quatrième champ pour GID, qui dans mon cas est le deuxième
1000
.Une fois que vous exécutez cela, vous devriez avoir toute latitude là où les attributs de fichier pour le groupe le permettent.
Comme indiqué dans l'autre réponse relative aux autorisations des utilisateurs, si vous devez corriger le groupe sur certains fichiers, exécutez l' un d'eux:
la source
sudo chown --from A B -R ./
pour les utilisateurs etsudo chown --from :A :B ./
pour les groupes