关于 NTFS 一个奇怪的特性(给文件夹设置图标会加上只读属性)

2021-09-27 06:05:44 +08:00
 liyafe1997
我习惯给分区根目录上的几个文件夹设置自定义图标(右键-属性-自定义-更改图标),这样比较好认。
然后奇怪的事情发生了:
在 macOS 上用 Tuexra NTFS for mac (其实就是 ntfs-3g 的商业版),所有设置了图标的文件夹都会显示一把锁,只有按 Command+i,然后把只读去掉以后才能写入。这么做以后回到 Windows 上发现自定义图标不显示了,显示回黄黄的文件夹 Logo 。

后来因为 Tuxera 的 NTFS 驱动性能太差,换 Paragon NTFS 了。(在这给各位 macOS 用户提个醒,Tuxera 就是个 FUFE,在某些极端情况下性能极差,而 Paragon 是内核驱动,追求性能的没必要贪便宜买 Tuxera )

而 Paragon NTFS 没这个问题,Windows 上设置图标以后,在 macOS 下一样是可以读写的。

然后我这台机上还有个 Ubuntu 。
众所周知 Ubuntu 自带的 NTFS 驱动是 ntfs-3g (就是 Tuxera 家的开源版本),一直用起来都没问题,上面说的设置图标后也没问题,都能读写。

同样,也是因为 ntfs-3g 性能问题,换了 Paragon 的 NTFS for Linux (也叫 ufsd ),这个对个人用户是免费的但不开源。

然后用 ufsd 挂载我的 NTFS 分区以后,发现跟之前在 macOS 下 Tuxera 一样,所有设置了图标的文件夹都默认不给 write 权限。如果我用 chmod +w 之后,回到 Windows 下,自定义图标就没了。

然后我在 Windows 下用 attrib 看( Powershell 用 ls 也能看出),所有设了自定义图标都上的 R 也就是只读属性。但是实际在 Windows 下并不会变成只读,权限不受影响。如果用 attrib -R,自定义图标也会没有。

所以这个自定义图标为什么能和只读属性关联起来?有哪位同学研究过到底是什么机制吗?
而且神奇的是,macOS 下 Tuxera(ntfs3g)会识别这个属性,Paragon 会忽略这个属性。Linux 下,ntfs3g 会忽略这个属性,Paragon 会识别这个属性。
891 次点击
所在节点    Windows
1 条回复
liyafe1997
2021-09-28 02:51:54 +08:00
找到官方解释了:
https://support.microsoft.com/en-us/topic/you-cannot-view-or-change-the-read-only-or-the-system-attributes-of-folders-in-windows-server-2003-in-windows-xp-in-windows-vista-or-in-windows-7-55bd5ec5-d19e-6173-0df1-8f5b49247165

看来这个文件夹的 Readonly 还真是一个 flag,有它就去读 desktop.ini
看来所有第三方的实现如果真把这个作为只读处理(比如不给写权限)都算是 bug

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/804499

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX