【发布时间】:2015-04-17 01:58:21
【问题描述】:
我正在为 android 使用交叉编译的二进制文件。 我用了一个命令 ntfs-3g /dev/block/mmcblk1 /storage/sdcard0/mysdcard 但是,当我退出超级用户并成为普通用户时。我无法查看安装在 sdcard 3 上的设备。我只能以 root 用户身份浏览文件系统。如何为所有用户公开挂载驱动器?
【问题讨论】:
我正在为 android 使用交叉编译的二进制文件。 我用了一个命令 ntfs-3g /dev/block/mmcblk1 /storage/sdcard0/mysdcard 但是,当我退出超级用户并成为普通用户时。我无法查看安装在 sdcard 3 上的设备。我只能以 root 用户身份浏览文件系统。如何为所有用户公开挂载驱动器?
【问题讨论】:
我在 linux 中使用 ntfs-3g 的经验是使用 Suse, 我最近下载了 ntfs-3g_ntfsprogs-2017.3.23 的源代码。 从记忆中,我从源代码构建它,我认为它很简单
./configure --prefix=/opt/ntfs-3g_ntfsprogs-2017.3.23
make
make install
在任何情况下,如果这不正确,则有一个 README 或 INSTALL 文件来解释要做什么。
之后我将/opt/ntfs-3g_ntfsprogs-2017.3.23添加到/etc/ld.so.conf和LD_LIBRARY_PATH并卸载了系统安装的ntfs-3g版本,所以我知道我使用的是新版本。
然后我可以成功地通过我从 Windows 10 家庭版格式化为 ntfs 的日立 3tb 硬盘挂载。
在 /etc/fstab 的 linux 中,我通过 device_id 挂载的默认挂载行是这样的
/dev/disk/by-id/ata-Hitachi_HDS723030ALA640_MK0311YHGWTYNA-part2 /data ntfs-3g users,gid=users,fmask=133,dmask=022,locale=en_US.UTF-8 0 0
这导致我的磁盘安装在 /data 文件夹下,但由于 fmask 和 dmask 只有 root 可以进入 /data 文件夹。
设置 fmask=111 和 dmask=000 使所有文件 -rw-rw-rw 和所有目录 drwxrwxrwx。
同样,这是 2018 年 2 月 24 日可用的最新 ntfs-3g_ntfsprogs-2017.3.23。我不知道 dmask 和 fmask 是否是 ntfs-3g 中的新功能,我不记得在早期版本中注意到它们它刚刚工作的地方。我之所以提到这一切,是因为在 SLES 11.4 中,来自 SDK 的本机版本 ntfs-3g 可以正常工作,并且它可以挂载我的 win10 ntfs 数据驱动器,但在 SLES 12.3 中,无论来自 SDK 的本机 ntfs-3g 不起作用,都会出现错误-1003 或 -3003,因此手动更新到最新的 ntfs-3g 并注意到额外的安全性阻止对已安装驱动器的默认读/写访问...需要修改 fmask 和 dmask
【讨论】: