7 votes

Est-il possible de conserver les autorisations lors de l'utilisation d'un lecteur monté en NTFS dans Ubuntu?

Dans mon travail de développement web, j'utilise presque exclusivement Ubuntu. Mais il y a des occasions où j'ai besoin de démarrer Windows - pour vérifier une mise en page dans IE, pour découper à nouveau un composant dans Photoshop - et je veux être en mesure de partager tout mon environnement localhost entre les deux.

Voici mon flux de travail actuel:

Sous Ubuntu:

  • rsync le répertoire du site sur lequel je travaille de /var/www à /windows/wamp/www (où /windows est l'emplacement de montage de ma partition NTFS Windows tel que défini dans fstab).
  • rsync la base de données mysql de /var/lib/mysql à /windows/wamp/bin/mysql/{version de mysql}/data.

Arrêtez, démarrez Windows, modifiez les fichiers, enregistrez, redémarrez. De retour sous Ubuntu, cherchez les fichiers modifiés et rsync de nouveau vers /var/www, en ignorant les modifications de permissions qui se sont produites lors du déplacement des fichiers vers la partition NTFS.

Je n'aime pas garder deux copies de tout mon environnement de développement, et je n'aime pas devoir les synchroniser manuellement. Idéalement, je voudrais copier l'intégralité de mon dossier /var/www dans la partition Windows et créer des liens symboliques vers celui-ci, et faire la même chose pour mes bases de données. Mais les changements de permissions qui se produisent causent de nombreux problèmes lorsque je le fais.

Donc ma question est en deux parties, je suppose:

  • Y a-t-il un moyen de copier des fichiers des partitions de lecteur ext4 vers des partitions NTFS tout en maintenant les permissions Unix de manière à ce qu'elles puissent être synchronisées à nouveau?

ou,

  • Y a-t-il un meilleur moyen de partager l'ensemble de l'environnement localhost entre les partitions Windows et Linux?

6voto

G. He Points 890

Si la partition est partagée avec Ubuntu et Windows, vous pouvez utiliser ntfs-3g.usermap pour créer un fichier de mappage d'utilisateurs.

Supposons que la partition est /dev/sdXn montée sur /NTFS

1) démontez la partition

sudo umount /dev/sdXn

2) exécutez ntfs-3g.usermap (il créera un fichier UserMapping dans le répertoire actuel)

sudo ntfs-3g.usermap /dev/sdXn

3) remontez

sudo mount /dev/sdXn

4)* copiez le fichier UserMapping

sudo mkdir /NTFS/.NTFS-3G
sudo cp UserMapping /NTFS.NTFS-3G/

Maintenant tout devrait fonctionner. En tout cas, ça a fonctionné pour moi sous Ubuntu 11.10

La dernière page de Tuxera (23.12.2015) suggère de copier dans /.NTFS-3G/:

Le fichier de mappage résultant est écrit dans le fichier UserMapping dans le répertoire actuel. Pour que le fichier soit utilisable, montez d'abord le volume, puis copiez UserMapping dans /.NTFS-3G/UserMapping dans le répertoire monté, puis démontez le volume et remontez-le.

Donc quelque chose comme ceci:

sudo mkdir /.NTFS-3G
sudo cp UserMapping /.NTFS-3G/

3voto

Panther Points 96601

Vous avez quelques options.

Tout d'abord, vous pouvez essayer le fsdriver

http://sourceforge.net/projects/ext2read/

Je ne sais pas si ce pilote fonctionnera bien, mais si c'est le cas, je vous conseillerais d'emprunter cette voie étant donné que vous utilisez principalement Ubuntu.

L'autre option est de monter votre partition ntfs avec les permissions Linux. Vous devrez ajouter une ligne dans fstab similaire à

UUID=12102C02102CEB83  /media/windows  ntfs-3g  auto,users,permissions  0  0

Changez l'uuid par celui de votre partition windows (utilisez sudo blkid)

En supposant que cela fonctionne, vous pouvez utiliser un lien ou un montage bind (encore une fois, une entrée dans fstab)

/media/windows/www /var/www none defaults,bind 0 0 

L'inconvénient de la deuxième méthode est qu'Ubuntu ne va pas déboguer une partition ntfs s'il y a un problème avec le système de fichiers.

Édition : Une autre solution potentielle - Exécutez Windows dans Virtualbox (ou KVM) et utilisez un dossier partagé ou un partage réseau (samba).

Bonne chance

1voto

V Bota Points 633

Cela a fonctionné pour moi sur Lubuntu 15.10

  1. Ouvrez un terminal

ctrl+alt+t

  1. Démontez le lecteur ntfs (remplacez sdx par votre lecteur; le mien est sda3)

sudo umount /dev/sdx

  1. Modifiez fstab pour utiliser ntfs-3g (ubuntu est livré avec leafpad installé; dans d'autres distributions, vous pourriez utiliser gedit ou un éditeur de texte différent)

sudo leafpad /etc/fstab

  1. Changez de ntfs à ntfs-3g. Quelque chose comme ceci:

Entrée pour /dev/sdx :

UUID=3844444444004444 /mnt/nomducarte ntfs-3g default,auto 0 0

  1. Enregistrez et fermez

  2. Montez tous les lecteurs

sudo mount -a

  1. Ouvrez un explorateur de fichiers avec des droits d'administrateur. (Lubuntu est livré avec pcmanfm installé cependant pour d'autres distributions vous pourriez avoir un autre explorateur de fichiers installé)

sudo pcmanfm

  1. Naviguer jusqu'au dossier souhaité et faites un clic droit dessus, la fenêtre Propriétés du fichier devrait s'ouvrir. Allez à l'onglet Permissions et choisissez ce dont vous avez besoin.

description de l'image ici

  1. Cliquez sur OK puis tout devrait être comme vous le souhaitez. (J'ai également redémarré mais je ne pense pas que ce soit nécessaire)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X