Linux原生驱动外部挂载权限优化建议
准备替换家里的存储设备,这段时间测试飞牛系统,发现使用现有带有分区及数据的磁盘,会被挂载为外部存储。在挂载时,有一些逻辑问题,导致app里指定应用使用外部存储时出现权限问题:
设置应用的路径为外部存储时。外部存储时NTFS可以为读写,外部存储时xfs和ext4时,只有只读。
现有环境
vmware下安装的虚拟机。配置如下:

- 其中NVMe模拟ssd,为系统盘及SSD缓存测试
- 2个SCSI的500G是内部存储做了飞牛接管的存储空间
- 2个大于100G的SATA都为在Linux下创建了1个分区,文件系统分别是xfs,ext4,并且写入了一些文件,用于测试直插现有的Linux下磁盘。
- 60G的SATA盘是用了现有Windows虚拟机的磁盘,模拟测试NTFS。
Linux原生驱动外部磁盘挂载问题
已有分区的磁盘在飞牛中被识别为外部存储,被自动挂载到/vol00中。如下:

可以看到除了2个NTFS分区格式的磁盘(sde1和4)挂载应该使用了ntfs-3g,挂载点权限为777,其他Linux原生支持磁盘分区(xfs,ext4,fat)挂载权限为755,所有者和组都为root。
以transmission设置允许访问为例:

可以看到,除了ntfs的分区可以读写,其他都为只读。fat为Windows磁盘的EFI分区。下面就忽略了。
在修改挂载点权限后:

xfs和ext4的分区可以正确识别为读写:

建议修改
- 可以优化逻辑,在自动挂载创建挂载点时,可以指定权限为777
- NTFS是否可以默认使用NTFS3驱动。
- 未来内核升级到7.1或更高时,是否考虑提供新的ntfs驱动?