如何正确挂载 Linux 和 Windows 之间共享的 NTFS 分区

如何正确挂载 Linux 和 Windows 之间共享的 NTFS 分区

我目前正在使用 Ubuntu 14.04、Ubuntu 15.10 和 Windows 10 的多重启动。

我想在这些操作系统之间共享两个分区:

  • 一个名为Worspace,用于包含我的所有项目
  • 其他包含所有其他数据:图片,电影,文本文档,Windows 的可执行文件。

我首先明白我必须使用 ntfs 分区,所以让我们开始吧!

为了在启动时安装它们,我发现了这个关于 ntfs-3g 的教程。并且在这里还发现了很多类似的问题,但没有关于权限的真正解决方案。

然后我像这样编辑 /etc/fstab 文件:

UUID=61B743CF0679FFF0   /home/xavier/Workspace    ntfs-3g auto,users,permissions 0 0
UUID=B88227AF822770D4   /home/xavier/Data    ntfs-3g uid=xavier,gid=users 0 0

现在我的问题开始了:使用该配置,所有文件都将以所有权限加载:

$ stat Data/
Fichier : «Data/»
Taille : 4096       Blocs : 8          Blocs d'E/S : 4096   répertoire
Périphérique : 80bh/2059d   Inœud : 5           Liens : 1
Accès : (0777/drwxrwxrwx)  UID : ( 1000/  xavier)   GID : (  100/   users)
Accès : 2016-03-04 18:32:02.557780000 +0100
Modif. : 2016-03-04 18:31:56.431991300 +0100
Changt : 2016-03-04 18:31:56.431991300 +0100
Créé : -

我不想这样,至少在文件方面是这样。ntfs-3g 教程解释了如何将文件的权限设置为 644。这很有效,但是:

有些文件是可执行文件!

所以我想强制 ntfs-3g 做出区分,或者保留已经存在的权限。

继续说,我希望 .exe 文件是 755,linux 可执行文件也是 755。文件夹可能在 755 上,并且有合适的用户可以添加文件和其他内容...

如果 git 批准该解决方案并且不告诉我所有文件的模式都已改变,那就太好了。

如果有人能解决这个问题,那就太好了!

对于包含数据的分区,我已经找到了使用此脚本的解决方案的开始,但我不太喜欢它,因为我必须一直运行它......

sudo chmod -R 666 /media/Data
sudo find /media/Data -type d -exec chmod 755 {} \;
sudo find /media/Data -name "*.exe" -exec chmod 755 {} \;

答案1

好的,感谢 Rod Smith 的帮助和进一步的研究,我可以说我找到了我所寻找的东西。

一个分区包含在所有操作系统上共享的数据:

我发现最好的方法是使用 ntfs 分区,并以默认权限将其挂载到您的家中。以下是 /etc/fstab 的相应部分

UUID=B88227AF822770D4   /home/xavier/Data    ntfs defaults 0 0

将分区挂载为 /home/xavier/Data 将获得所有权限。但这不是问题。

一个分区包含具有 git 存储库的项目,该存储库必须可在所有 Linux 操作系统上访问,并在 Windows 上可读:

最好的方法是创建一个 EXT4 分区。然后你可以将其挂载到 Linux 操作系统上,以下是 /etc/fstab 的相应部分

UUID=f2c967e0-6d79-4c69-af2c-256b39c5fcd8   /home/xavier/Workspace    ext4    defaults        0       2

将分区挂载为 /home/xavier/Workspace,并赋予用户 xavier 权限

然后你可以在 Windows 上使用以下命令访问它Ext2Fsd但它将保持只读状态。

我希望这会有所帮助:)

泽维尔

相关内容