Ubuntu 22.04下挂载exFAT分区并赋予非root用户读写权限的方法求助
Ubuntu 22.04下挂载exFAT分区并赋予非root用户读写权限的方法求助
兄弟,我前阵子升级到Ubuntu 22.04也碰到了一模一样的坑!之前用了好多年的users,uid={my username},gid=users,umask=0002,utf8=true挂载选项直接导致开机进紧急模式,折腾了半天才搞明白原因——22.04开始用内核原生的exFAT驱动了,不再依赖以前的fuse-exfat,所以那些老选项不兼容了。给你分享两个亲测有效的解决办法:
方法一:用原生驱动支持的挂载参数直接指定权限
- 先确保装了exfatprogs(内核原生驱动需要它来支持格式化、检查等操作,没装的话先补装):
sudo apt install exfatprogs
- 修改
/etc/fstab里的exFAT分区条目,把原来的选项换成下面这样:
/dev/sdXn /mnt/your_mount_point exfat defaults,uid=1000,gid=1000,umask=0002 0 0
- 这里的
1000是普通用户默认的UID和GID,你可以用id your_username命令查看自己的实际数值,替换进去就行 - 原生驱动默认已经开启UTF-8支持,所以不用再加
utf8=true了 - 要是需要普通用户能手动挂载卸载,可以保留
users选项,改成defaults,users,uid=xxx,gid=xxx,umask=0002
修改完别着急重启,先执行sudo mount -a测试一下,如果没有报错,说明配置没问题,重启后就能正常用了。
方法二:通过目录权限控制实现非root读写
如果不想指定具体的UID/GID,也可以用这种更灵活的方式:
- 先创建挂载目录:
sudo mkdir /mnt/exfat_storage
- 在
/etc/fstab里用默认选项挂载分区:
/dev/sdXn /mnt/exfat_storage exfat defaults 0 0
- 修改挂载目录的权限,把它的所有权设为你的用户和用户组:
sudo chown your_username:users /mnt/exfat_storage sudo chmod 775 /mnt/exfat_storage
这样挂载之后,你的用户就拥有读写权限了,同组的其他用户也能访问。
我自己用第一种方法一次性搞定了,你可以根据自己的需求选一个试试,记得测试的时候先执行mount -a,别直接重启踩坑!
备注:内容来源于stack exchange,提问作者PhoenixM




