web-dev-qa-db-fra.com

Monter automatiquement un lecteur en utilisant / etc / fstab et limiter l'accès à tous les utilisateurs d'un groupe spécifique

J'ai actuellement un disque dur supplémentaire que j'utilise comme espace de travail. J'essaie de l'obtenir pour monter automatiquement sur les redémarrages en utilisant la ligne suivante ajoutée à/etc/fstab

/dev/sdb1 /media/workspace auto defaults 0 1

Cela fonctionne à la montée automatique, mais je voudrais limiter l'accès en lecture/écriture aux utilisateurs appartenant à un groupe spécifique. Comment allais-je faire cela dans/etc/fstab? Puis-je simplement utiliser simplement Chown ou chmod Pour contrôler l'accès?

9
slagathor

Si le type de système de fichiers est celui qui ne dispose pas d'autorisations, telles que la graisse, vous pouvez ajouter umask, gid et uid aux options FSTAB. Par exemple:

 /dev/sdb1 /media/workspace auto defaults,uid=1000,gid=1000,umask=022 0 1

uid=1000 est l'ID utilisateur.

gid=1000 est l'ID de groupe.

umask=022 Cela permettra de définir des autorisations afin que le propriétaire ait lu, écrire, exécuter. Groupe et d'autres auront lu et exécuteront.

19
krt

Je porte un accès au système de fichiers via un répertoire contenant le point de montage.

Comme root:

mkdir -p /media/group1only/workspace
chgrp group1 /media/group1only
chmod 750 /media/group1only

C'est un accès complet à la racine et lisez + exécuter l'accès aux membres de Group1. Ne leur donnez pas accès à l'écriture ici, car s'ils renomment accidentellement le point de montage workspace, il pourrait rendre votre système à démarrer.

Et ajoutez ceci à/etc/fstab:

/dev/sdb1 /media/group1only/workspace auto defaults 0 1

Une fois que le système de fichiers est monté, vous pouvez apporter une nouvelle appropriation et des modifications en mode aux objets du système de fichiers afin d'accueillir un accès plus fin à grain parmi les membres du groupe.

7
Mark Plotnick

Par exemple, en supposant que le système de fichiers sur le disque prend en charge les ACL, et à l'aide de l'utilisateur hypothétique, de MyAsername et du groupe hypothétique pour accéder au disque, diskusers, quelque chose comme ce qui suit pourrait être effectué. $ indiquait une commande exécutée comme un utilisateur régulier; # Indique une commande exécutée comme utilisateur, racine.

Créer un groupe auquel un utilisateur peut appartenir à cet effet.

$ Sudo groupadd diskusers
$ Sudo usermod -a -G diskusers myusername
$ logout

Connectez-vous à nouveau.

$ Sudo -i
# mount /media/workspace
# chown root:root /media/workspace
# chmod 0750 /media/workspace/
# setfacl -d -m -g:diskusers:7 /media/workspace
# setfacl -m g:diskusers:7 /media/workspace

Le "7" dans la commande setfacl est octal (lecture = 4 + écriture = 2 + exécuter = 1), comme des autorisations octalales normales (0400, 0200, 0100).

Les -d est un commutateur pour spécifier un masque par défaut - de nouveaux fichiers et répertoires. Les -m est le masque à appliquer dans le répertoire.

Vous pouvez également appliquer le masque à tous les fichiers initialement après avoir défini la valeur par défaut (ci-dessus):

find /media/workspace -exec setfacl -m g:diskusers:7 {} +

À ce stade, seule la racine et les membres de disques-disques peuvent accéder aux fichiers. J'aime aussi l'idée de Mark Plotnick, aussi sur l'application des autorisations à un sous-répertoire. Cette technique pourrait être utilisée aussi.

2
Christopher