Ubuntu 20.04下USB挂载时自动赋予子文件夹及文件全权限的配置方案咨询
Ubuntu 20.04下USB挂载时自动赋予子文件夹及文件全权限的配置方案咨询
嗨,我来帮你搞定这个USB挂载权限的问题!首先得明确一个关键点:你的USB是vfat格式(从lsblk和mount结果能看出来),这种格式本身不支持Linux的权限系统,所以你手动用chmod 777设置的权限只是临时生效,下次重新挂载USB就会恢复默认。要实现自动赋予全权限,得通过挂载参数来控制,给你两个靠谱的方案:
方案一:通过/etc/fstab配置固定挂载(永久生效)
这个方案适合你希望USB每次都挂载到固定路径,且权限稳定的场景:
- 确认USB的UUID:你已经通过
lsblk找到了目标分区sda2的UUID是D078-0D63,记好这个值。 - 创建固定挂载点:先建一个不会变动的挂载目录,比如:
sudo mkdir /media/usb-auto - 编辑fstab文件:打开fstab配置:
在文件末尾添加一行配置:sudo nano /etc/fstab
这里的参数解释:UUID=D078-0D63 /media/usb-auto vfat defaults,umask=000,uid=1000,gid=1001 0 0umask=000:反掩码设为000,对应文件和文件夹的权限就是777(全权限)uid=1000,gid=1001:用你当前用户的UID和GID(从mount结果里的uid=1000,gid=1001获取),确保你能正常读写defaults包含了rw、suid等基础挂载参数
- 测试挂载:执行命令测试配置是否正确,没有报错就说明没问题:
之后你插拔USB,系统就会自动挂载到sudo mount -a/media/usb-auto,且所有子文件夹和文件都会默认拥有777权限。
方案二:配置udisks实现自动挂载带权限(保留系统默认自动挂载路径)
如果你习惯系统自动生成/media/amg/TO1这类动态路径,那可以修改udisks2的规则,让自动挂载时直接带上权限:
- 创建udev规则文件:
sudo nano /etc/udev/rules.d/99-usb-permissions.rules - 添加规则内容:把下面的内容粘贴进去,注意替换成你的USB UUID:
SUBSYSTEM=="block", ENV{ID_FS_UUID}=="D078-0D63", ENV{UDISKS_MOUNT_OPTIONS}="umask=000,uid=1000,gid=1001" - 重载udev规则:
sudo udevadm control --reload-rules && sudo udevadm trigger - 重新挂载测试:先卸载当前的USB,然后拔掉重插,系统自动挂载后,你去查看权限,就会发现已经是777了。
一些注意事项
- 因为vfat不支持Linux权限系统,所以不要依赖
chmod命令修改权限,修改后只是临时生效,重新挂载就会失效,必须通过挂载参数设置。 - 如果你的USB需要在不同Ubuntu机器上使用,不同机器的用户UID/GID可能不一样,这时候可以把
uid=1000,gid=1001换成users参数,这样所有用户都能读写,配置变成:defaults,umask=000,users。 - 编辑fstab时一定要仔细,语法错误可能导致系统启动失败,编辑后一定要用
sudo mount -a测试,确认没有报错再重启。
备注:内容来源于stack exchange,提问作者adrian
相关产品推荐
相关产品推荐

