我尝试遵循一些描述维基百科关于的结构/etc/fstab
。我希望特定用户能够挂载 Windows 分区。我从所有有资格挂载的用户开始,并添加了选项user
。我的fstab
特定分区如下所示:
/dev/sdb1 /mnt/data ntfs-3g
noauto,user,uid=1000,gid=1000,dmask=003,fmask=007,noexec 0 0
我预期非 root 用户会挂载此分区,但是当我尝试这样做时,仍然收到错误:
打开“/dev/sdb1”时出错:权限被拒绝
无法挂载“/dev/sdb1”:权限被拒绝
请检查“/dev/sdb1”和 ntfs-3g 二进制权限以及挂载用户 ID。更多解释请参见http://tuxera.com/community/ntfs-3g-faq/#unprivileged
我不知道那是什么。
答案1
答案似乎是在您链接的常见问题解答中,显然 ntfs-3g 需要 setuid 来执行您所要求的操作:
chown root $(which ntfs-3g) chmod 4755 $(which ntfs-3g)
请注意,使用 setuid-root 可能会导致不可预见的权限提升,因此不建议使用。只有绝对受信任的用户才必须被授予此类访问权限。下面是一个示例,说明如何让 ntfsuser 组中的用户在还具有所需的卷访问权限的情况下挂载任何 NTFS 卷。
addgroup ntfsuser chown root:ntfsuser $(which ntfs-3g) chmod 4750 $(which ntfs-3g) usermod -aG ntfsuser allowed-user
setuid-root ntfs-3g 驱动程序在其生命周期内应用最小特权原则作为一项安全措施。