You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让普通用户挂载exFAT/FAT分区时避免所有文件被设置执行权限位

如何让普通用户挂载exFAT/FAT分区时避免所有文件被设置执行权限位

我之前也碰到过这个一模一样的头疼问题!用udisksctl挂载exFAT或者VFAT分区的时候,所有文件默认都是755权限,带个执行位,复制文件的时候特别闹心。咱们来一步步解决这个问题:

1. 修正udisks2的挂载配置文件

你之前修改/etc/udisks2/mount_options.conf没成功,大概率是配置格式或者选项用错了——noexec是让整个分区禁止执行文件,但这不是咱们要的(而且目录的执行位是用来进入目录的,不能随便禁用),正确的做法是用权限掩码来精准控制文件和目录的权限。

打开终端,用编辑器修改配置文件:

sudo nano /etc/udisks2/mount_options.conf

在文件里添加或者修改以下内容(如果已有对应分区的配置段,直接替换里面的defaults行即可):

# 针对exFAT分区的配置
[exfat]
defaults=uid=$UID,gid=$GID,fmask=133,dmask=022

# 针对VFAT分区的配置
[vfat]
defaults=uid=$UID,gid=$GID,fmask=133,dmask=022,utf8,shortname=mixed

这里解释下关键参数:

  • fmask=133:文件的权限掩码,777减去133等于644,刚好是咱们想要的文件权限(可读可写给自己,只读给组和其他)
  • dmask=022:目录的权限掩码,777减去022等于755,目录需要执行位才能进入,这个权限是合理的
  • uid=$UID和gid=$GID:保证挂载后的文件属于当前用户,不用每次手动调整权限

2. 重启udisks2服务让配置生效

修改完配置后,必须重启udisks2服务才能让新的挂载选项生效:

sudo systemctl restart udisks2.service

3. 重新挂载分区

先把已经挂载的分区卸载掉(替换成你实际的分区路径,比如/dev/sdb1,注意不要用整个磁盘设备/dev/sdb!):

udisksctl unmount -b /dev/sdXn

然后重新挂载:

udisksctl mount -b /dev/sdXn

现在你去挂载目录里查看文件权限,应该都是644了,目录保持755可以正常进入,完美解决执行位乱标的问题!

备注:内容来源于stack exchange,提问作者emk2203

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 15:39:32