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

Debian 10中修改/扩展USB设备访问权限的方法咨询

Debian 10中修改/扩展USB设备访问权限的方法咨询

看起来你已经折腾了好几天,试了udisks2配置、udev规则还是没搞定USB挂载后的组权限问题,我来帮你梳理下可行的解决方案,分两部分解决你的核心需求:一是/media/john目录的组权限开放,二是U盘挂载子目录的权限调整。

一、解决/media/john目录的组权限问题

默认udisks2创建的用户挂载目录只有本人通过ACL访问,要让john组内的其他用户也能访问,有两种可靠方法:

方法1:修改udisks2核心配置

编辑/etc/udisks2/udisks2.conf,添加以下配置段:

[UserPaths]
# 设置用户挂载目录的默认权限,用户和组都拥有r-x权限
DefaultPermissions=0750
# 强制目录组为用户的主组(这里就是john组)
DefaultGroup=%u

保存后重启udisks2服务让配置生效:

systemctl restart udisks2.service

下次插入U盘时,/media/john目录会自动设置为root:john拥有,权限drwxr-x---,组内用户就能正常访问了。

方法2:设置ACL默认继承规则

如果上面的配置不生效,可以给/media目录设置默认ACL,让所有新建的子目录自动继承john组的权限:

# 给/media目录添加默认ACL,后续新建子目录都会继承这个规则
setfacl -d -m g:john:r-x /media
# 给已存在的/media/john目录补全ACL权限
setfacl -m g:john:r-x /media/john

二、解决U盘挂载子目录的权限问题

你之前的udev规则犯了个小错误:udev里不能用$UID/$GID变量,得用udev原生支持的%U/%G(分别对应当前用户的UID和GID),调整后的规则如下:

正确配置udev挂载规则

新建或编辑/etc/udev/rules.d/90-usb-mount.rules:

SUBSYSTEM!="block", GOTO="udisks_mount_options_end"
KERNEL!="sd[a-z]*", GOTO="udisks_mount_options_end"

# 开启文件系统共享挂载,允许组内访问
ENV{ID_FS_USAGE}=="filesystem", ENV{UDISKS_FILESYSTEM_SHARED}="1"

# 针对VFAT文件系统设置挂载选项,开放组读写权限
ENV{ID_FS_USAGE}=="filesystem", ENV{ID_FS_TYPE}=="vfat", \
  ENV{UDISKS_MOUNT_OPTIONS_VFAT_DEFAULTS}="rw,nosuid,nodev,relatime,uid=%U,gid=%G,umask=0002,dmask=0002,fmask=0002,shortname=mixed,utf8=1,showexec,flush", \
  ENV{UDISKS_MOUNT_OPTIONS_VFAT_ALLOW}="uid,gid,umask,dmask,fmask,shortname,utf8,showexec,flush"

# 针对EXT系列文件系统(如果需要挂载EXT格式U盘)
ENV{ID_FS_USAGE}=="filesystem", ENV{ID_FS_TYPE}=="ext[234]", \
  ENV{UDISKS_MOUNT_OPTIONS_EXT_DEFAULTS}="rw,nosuid,nodev,relatime,acl,user_xattr,umask=0002", \
  ENV{UDISKS_MOUNT_OPTIONS_EXT_ALLOW}="acl,user_xattr,umask"

LABEL="udisks_mount_options_end"

保存后重新加载udev规则:

udevadm control --reload-rules

验证效果

拔下U盘重新插入,然后检查挂载目录权限:

ls -ld /media/john/KINGSTON
getfacl /media/john/KINGSTON

正常情况下应该看到权限为drwxrwxr-x,john组拥有完整的读写执行权限。

额外注意事项

  • 如果是EXT格式的U盘,挂载后可以手动执行chmod g+rw /media/john/KINGSTON,后续挂载会保留这个权限(因为EXT文件系统支持权限持久化)。
  • 确认测试用户确实属于john组,可执行groups testuser查看。
  • 所有配置生效前,务必重新插拔U盘或重启相关服务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 12:19:49