Comment autoriser plusieurs utilisateurs à accéder à une partition Windows NTFS?

8

J'ai un disque dur USB connecté à ma machine Ubuntu (11.04). Chaque fois que je redémarre l'ordinateur et me connecte, il monte le disque dur. Étant donné que le disque contient NTFS, Linux affecte un utilisateur à être le propriétaire des fichiers sur le disque. Ainsi, tous les fichiers sur le disque semblent appartenir à un seul utilisateur et seul cet utilisateur peut voir les fichiers.

J'utilise deux comptes d'utilisateurs sur mon ordinateur et je passe souvent de l'un à l'autre. Une fois que je suis passé à un autre compte utilisateur, je ne peux plus accéder au contenu du disque car il appartient à mon premier compte utilisateur. Y a-t-il quelque chose à faire à part le monter via / etc / fstab?

Merci.

Alexander Sandler
la source

Réponses:

14

Montage avec des autorisations spécifiques

Il y a. Mettez les deux utilisateurs dans un groupe ensemble. Ensuite, utilisez ce groupe pour définir l' gid=option et monter votre disque avec les autorisations que vous souhaitez qu'il ait. Vous pouvez contrôler les autorisations avec umask=, fmask=et les dmask=options de la commande mount. Voici un exemple:

mount -O dmask=007,fmask=117,gid=46,uid=1000 /dev/sdc1 /media/winhdd

Ces options peuvent également être utilisés dans /etc/fstabcomme ceci: UUID=7258CB9858CB598D /media/win ntfs rw,auto,user,exec,nls=utf8,dmask=007,fmask=117,gid=46,uid=1000 0 2.

Éviter fstab - monter automatiquement un disque spécifique avec udev

J'imagine que vous voulez éviter fstab parce que le disque n'est pas toujours connecté au démarrage. Si vous souhaitez éviter fstab, utilisez une règle udev . Udev peut monter automatiquement (et empêcher Ubuntu de se monter automatiquement) lorsque le disque est connecté. Une règle pour cela peut ressembler à ceci:

# In /etc/udev/rules.d/70-usb-winhdd-mount.rules

KERNEL=="sd?[0-9]", ATTR{removable}=="1", ATTRS{serial}=="UA04FLGC", ACTION=="add", RUN+="mount -O dmask=007,fmask=117,gid=46,uid=1000 /dev/%k /media/winhdd"

Vous devrez identifier le disque par ses propriétés. Dans mon exemple, je l'ai fait par ATTRS{serial}=="UA04FLGC". J'ai décrit comment procéder dans une autre question . La dénomination et l'emplacement des fichiers de règles y sont également décrits.

Donnez à tous les disques amovibles ces propriétés

Si vous voulez le faire avec tous les disques amovibles - pas seulement celui-là, laissez simplement la partie série et assurez-vous d'attribuer un point de montage unique (en les comptant, en créant à partir de la série,% -symbol of udev ou autre méthode). Comme indiqué ailleurs, il ENV{mount_options}="$env{mount_options},dmask=007,fmask=117,gid=46,uid=1000" pourrait également être possible de monter tous les disques amovibles avec certaines autorisations / autorisations.


Informations utiles que vous connaissez peut-être déjà:

Créer un groupe et ajouter des utilisateurs

Ce sont les commandes shell pour créer un groupe nommé 'winhdd' et ajouter un utilisateur nommé 'confus' à ce groupe:

groupadd winhdd
usermod -a -G winhdd confus

Connaître l'identifiant du groupe

Vous pouvez trouver les identifiants de groupe de tous les groupes de votre système dans un fichier appelé /etc/group. Les entrées y ressemblent winhdd:x:4:confus,narur,joeoù «confus», «narur» et «joe» sont les noms d'utilisateur appartenant à ce groupe, «adm» est le nom du groupe et «4» l'ID de groupe que vous recherchez. En /etc/groupsvous pouvez également vérifier si l' ajout d' utilisateurs à votre groupe a réussi. La commande getent group winhddafficherait la ligne avec des informations sur le groupe. La idcommande vous donne votre identifiant de groupe, votre identifiant d'utilisateur et les noms et identifiants de tous les groupes auxquels vous appartenez.

Définition d'options de type umask

Vous voudrez définir dmask=une valeur raisonnable vous permettant au moins d'exécuter (= accéder) aux répertoires. fmask=est l'option pour les autorisations de fichier.

dmask=007,fmask=117,gid=46,uid=1000permet au propriétaire qui est le numéro d'utilisateur 1000 (premier chiffre dans les masques) et aux membres du groupe numéro 46 (deuxième chiffre dans le masque) de lire et d'écrire et de fichiers sur le disque. Les autres utilisateurs n'ont aucun droit de faire quoi que ce soit (d'où le troisième chiffre dans les masques - le 7). Voici les valeurs du masque :

7 – no permissions     6 – execute only    5 – write only
4 – write and execute  3 – read only       2 – read and execute
1 – read and write     0 – read, write and execute
con-f-use
la source
J'ai lu que les entrées nstfs fstab devraient être configurées avec des valeurs dmask et fmask et non des valeurs umask ... dmask 027 et fmask 137 - ubuntuforums.org/showthread.php?&t=283131
fossfreedom
À droite, les répertoires doivent avoir des autorisations exécutables. Si vous voulez que les fichiers soient exécutables, umask est correct. Sinon, dmask et fmask est la voie à suivre.
con-f-use