Meilleure pratique pour monter une partition Windows

13

J'utilise un double démarrage de Windows et Debian sur mon ordinateur portable. J'utilise principalement Linux mais de temps en temps j'ai besoin d'accéder à mes fichiers dans ma partition Windows. Ma partition Windows est montée comme suit au démarrage.

>cat /etc/fstab |grep Win7
LABEL=Windows7_OS /mnt/Win7 auto nosuid,nodev,nofail,x-gvfs-show 0 0

Fondamentalement, chaque fichier de la partition Windows appartient à root: root et dispose d'une autorisation 777. Ensuite, chaque fois que je mv un fichier sur ma partition de travail (Linux), j'ai un fichier 777 sous ma partition, propriété de moi (tandis que cp dans le terminal donnera un fichier 755 mais si cela est fait via gnome enregistrera le fichier avec une autorisation 777) .

Est-ce la meilleure pratique pour monter une partition? Ou dois-je le monter de telle sorte qu'au lieu de root, je suis le propriétaire de tous les fichiers / répertoires et en quelque sorte être en mesure de définir tous les répertoires à 755 et les fichiers à 644 lorsque le montage se produit au démarrage? Si tel est le cas, comment cela peut-il se faire?

albertma789
la source
2
friandise mineure (uooc ...):grep Win7 /etc/fstab
Olivier Dulac

Réponses:

17

Vous pouvez utiliser fmasket dmaskmonter des options * pour modifier le mappage des autorisations sur un système de fichiers ntfs.

Pour faire apparaître les fichiers rw-r--r--(644) et les répertoires rwxr-xr-x(755), utilisez fmask=0133,dmask=0022. Vous pouvez combiner cela avec uid=et les gid=options pour sélectionner le propriétaire du fichier et le groupe si vous avez besoin d'un accès en écriture pour votre utilisateur.

* fmasket dmasksemblent également fonctionner pour le pilote du noyau (en lecture seule), même s'ils ne sont pas documentés dans la page de manuel de montage . Ce sont des options documentées pour ntfs-3g.

sebasth
la source
Mon umask par défaut est déjà 0022. Mais quand je mv un fichier en utilisant le terminal de Win7 à mon domicile, le fichier est toujours 777.
albertma789
2
Le fmask et le dmask dans la réponse sont des options de montage . Lorsque vous les modifiez dans fstab et remontez le système de fichiers, les fichiers / répertoires de votre système de fichiers Windows apparaîtront avec des autorisations 644/755 au lieu de 777/777.
sebasth
5
LABEL=Windows7_OS /media/Win7 auto nosuid,nodev,nofail,x-gvfs-show,x-gvfs-name=Windows,uid=1000,gid=1000,fmask=0133,dmask=0022 0 0fonctionne comme un charme. Exactement ce dont j'avais besoin!
albertma789
Est-il possible de configurer de telles valeurs par défaut pour des systèmes de fichiers spécifiques (FAT32 / NTFS) plutôt que des lecteurs spécifiques? Ce serait bien d'avoir cela à disposition lors de l'utilisation de lecteurs flash et d'autres supports amovibles.
JAB
1
@JAB voir Comment définir les autorisations par défaut pour les lecteurs FAT montés automatiquement dans Ubuntu 9.10? sur superutilisateur.
sebasth
7

Tout d'abord, ce n'est pas la façon dont vous devez utiliser / mnt. C'est pour effectuer des tâches administratives sur un système de fichiers temporairement pas chaque démarrage du système.

Étant donné que la partition Windows ne fait pas partie du fonctionnement du système Linux, il est logique de la monter sous / media. Vous pouvez également envisager de le monter sous root / as / Windows pour éviter toute confusion concernant / media pour les supports amovibles.

Quant aux autorisations, j'utiliserais un groupe appelé windows

groupadd -g 1001 Windows

et donnez-lui les autorisations que vous souhaitez avec des options comme:

gid=1001,umask=022

Si vous souhaitez utiliser cp et conserver des autorisations entre des systèmes de fichiers distincts, utilisez cp avec l'indicateur -p ou -a.

jdwolf
la source
Mon umask par défaut est déjà 0022. Mais quand je mv un fichier en utilisant le terminal de Win7 à ma maison, le fichier est toujours 777. Montez sur / media à la place est une excellente suggestion!
albertma789
Lors de la copie de fichiers entre des systèmes de fichiers, les autorisations par défaut pour ce système de fichiers sont utilisées, sauf si vous les conservez. Reportez-vous à ma réponse mise à jour.
jdwolf
Bien que je sois d'accord, ce /mntn'est pas optimal pour le point de montage, /mediac'est pour les supports amovibles (par exemple, les DVD et les clés USB). Je ne suis pas sûr qu'il existe une bonne réponse là où le montage est censé se produire: unix.stackexchange.com/questions/29134/…
StrongBad
@StrongBad La norme de hiérarchie du système de fichiers n'est pas si standard, en particulier sur les répertoires depuis les anciens Unix. Par exemple, le FHS 2.3 ne reflète pas les pratiques actuelles de / run. Regardez le refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s11.html du FHS 3.0 qui indique en outre de ne pas utiliser / mnt pour cela, mais sa rationalité est beaucoup plus claire que "techniquement, Windows n'est pas un support amovible". qu'il n'y a rien de mal à monter votre propre répertoire sur / root.
jdwolf
4

En utilisant les options de montage uid, gid, fmasket dmaskvous pouvez faire du système de fichiers NTFS intégralement accessible à votre compte utilisateur et / ou un groupe. Mais c'est tout ou rien: en ce qui concerne le système de fichiers NTFS, c'est comme fonctionner en tant qu'administrateur complet tout le temps sous Windows, ou comme tout faire en tant que root sous Linux. Le ntfs-3gpilote du système de fichiers NTFS peut faire mieux que cela.

Si vous utilisez ntfs-3g, vous pouvez utiliser la ntfsusermapcommande pour créer un fichier de mappage utilisateur pour votre ou vos systèmes de fichiers NTFS. La commande vous aidera à identifier les noms d'utilisateur Windows et leurs SID Windows correspondants et à les associer aux ID utilisateur et groupe Linux.

De cette façon, vous pouvez associer le SID de votre compte d'utilisateur Windows à votre UID Linux. De cette façon, une fois que vous avez monté le système de fichiers NTFS avec le fichier de mappage utilisateur en place à <NTFS filesystem root>/.NTFS-3G/UserMapping, vous pouvez utiliser votre compte utilisateur Linux normal pour accéder au système de fichiers NTFS exactement comme votre compte utilisateur Windows pourrait y accéder. Pour les choses dont vous auriez besoin des autorisations d'administrateur sous Windows, vous aurez toujours besoin de root sous Linux.

De cette façon, vous aurez un accès pratique à vos fichiers sur la partition Windows, mais vous êtes toujours protégé contre les erreurs de votre \Windowsrépertoire par une commande mal saisie, sauf si vous exécutez en tant que root.

Vous pouvez également utiliser l' windows_namesoption de montage sur les partitions NTFS pour vous empêcher de créer accidentellement des fichiers avec des noms auxquels Windows ne peut pas accéder.

telcoM
la source