最近,我在一块新的 ssd 上安装了 Ubuntu 17.04(使用 ext4 的标准安装),当时没有连接其他驱动器。在我连接数据硬盘(ntfs 格式,与 win7 的双启动设置)后,我注意到上面的每个文件都有执行标志(之前曾与 14.04 进行双启动,但没有出现此问题)。
如果我关闭单个文件的标志,它会立即重置。此外,我复制到硬盘的每个文件都会获得标志,如果我在固态硬盘上创建指向硬盘文件夹的链接,链接本身在重新启动后会获得标志,使其无法使用,直到我删除标志(下次重新启动时会重置)。
/proc/mounts 中 ntfs 驱动器的条目:
dev/sdc1 /media/brad/mydata fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096 0 0
- 为什么会发生这种情况(我没有做任何可能导致这种情况的事情/如何防止下次发生这种情况)?
- 如何在不触碰/更改每个文件(也不更改文件日期戳)的情况下安全地一次性撤消整个驱动器的操作?
回复:重复:
我看不出这与 chmod 有什么关系,我不想更改文件或文件夹权限,我需要纠正 ubuntu 查看整个驱动器的方式,因为这已被更改,我认为更改是一个非常糟糕的决定。所以现在我必须编辑 fstab 以恢复 16.10 之前的行为。在“如何在 NTFS(或 FAT32)分区上使用‘chmod’?”中没有提到这种情况或必须设置的‘正确’(旧)权限。虽然将此问题重命名为“将 ntfs 权限恢复到 16.10 之前”可能会使其更加独特,但遇到同样问题的人很可能不知道原因,因此找不到此线程,所以我保持原样。
仍在等待错误的“重复”注释被删除。重复注释如下所示: https://superuser.com/questions/512393/why-is-every-file-marked-as-an-executable-on-my-mounted-ntfs-partition
答案1
此答案可能有误,请帮助改进!
为什么会发生这种情况:
因为 ubuntu 从 16.10 版本开始改变了 ntfs 权限处理。
如何安全地撤消它:
- 一旦 ntfs 驱动器被挂载,从 /etc/mtab 或 /proc/mounts 中获取当前挂载条目并进行更正(根据“man mount.ntfs”-OPTIONS:user_id 必须变为用户ID,group_id必须变成组,nodev 变成否_def_opts,rw,nosuid 和 blksize 似乎不存在??,default_permissions 变成权限, ) 也许您还必须将 fuseblk 换成 ntfs-3g,我不知道。
- 添加有用的选项:
窗口名称因此,禁止创建包含 Windows 不允许的字符(例如冒号)的文件名(在我看来这应该是默认的,但事实并非如此)。
禁止自动如果你想阻止自动挂载 - 将所需的 fmask 和 dmask 附加到该行(对于 ntfs 挂载选项,仅使用 umask 会导致错误的文件夹权限)。文件的“正常”权限是 rw-r--r--,而目录的权限是 rwxr-xr-x(目录需要执行权限,请参阅https://superuser.com/questions/168578/why-a-folder-must-be-executable)。 根据http://www.webune.com/forums/umask-calculator.html文件权限转换为 644 并转换为掩码那是133,文件夹权限 rwxr-xr-x 转换为 755,转换为掩码那是022。
- 将结果附加到
/dev/sdc1 /media/brad/mydata fuseblk no_def_opts,relatime,uid=0,gid=0,permissions,allow_other,noauto,windows_names,fmask=0133,dmask=022 0 0
/etc/fstab(当然,使用您自己的路径,并且不要添加额外的空白)。
免责声明:我仍然不知道这是否安全。有知识的人可以看一下吗?
...........................................................................................................................................................
旧的、错误的资料,等待删除:
/dev/sdc1 /media/brad/mydata fuseblk rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096,noauto,fmask=0133,dmask=022 0 0
终于敢尝试一下,但点击设备时出现此错误信息
Unable to access location Error mounting system-managed device /dev/sdc1:Command-line 'mount"/media/brad/mydata"'exited with non-zero exit status 32: mount: wrong fs type, bad opton, bad superblock on /dev/sdc1, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so.
dmesg|tail 没有显示任何相关信息。
那么 dmask/fmask 是否与这些不祥的 default_permissions 存在冲突,或者我是否需要使用 UUID 或完全不同的东西?