如何在 Debian 中修改/扩展 USB 设备访问权限?

如何在 Debian 中修改/扩展 USB 设备访问权限?

我有一台装有 Debian 10 的电脑。我需要 USB 驱动器具有比系统默认授予的更广泛的权限。

我举个例子:用户“john”通过身份验证后,检测到 USB 存储器时,会创建目录“/media/john/”,所有者为 root,权限为 drwxr-x---+。用户“john”通过 ACL:“user:john:rx”获得该目录的访问权限。

john@debian:~$ getfacl /media/john/
# file: media/john/
# owner: root
# group: root
user::rwx
user:john:r-x
group::---
mask::r-x
other::---

我需要当创建上述目录时,也向组“john”授予相同的权限,以便组中有“john”的另一个用户也有访问权限。

类似地,当创建子目录时,其名称相当于设备标签“/media/john/kingston/”,它还必须具有该组的完整权限,默认情况下,它是使用 rwxr-xr-x 完成的,我要求它是 drwxrwxr-x。换句话说,用户必须能够通过允许安装选项来访问 USB 记忆棒上的其他用户数据,这些选项授予用户“john”(本例中为“john”)的主要组完全访问权限。

我尝试过很多方法,但都没有用:编辑 /etc/udisks2/udisks2.conf (还有 /etc/udisks2/mount_options.conf)

[Storage]
Options=relatime
DefaultMountOptions=rw
DefaultMountOptions=umask=0002
DefaultMountOptions=fmask=0002
DefaultMountOptions=dmask=0002

测试了另一个选项:

vfat_allow=umask0002,dmask=0002,fmask=0002
vfat_allow=dmask=0002,fmask=0002

最后,我尝试修改 UDEV 的安装选项。

SUBSYSTEM!=="usb", GOTO="udisks_mount_options_end"
KERNEL!=="sd[a-z]*", GOTO="udisks_mount_options_end"
# USB
ENV{ID_FS_USAGE}=="filesystem", \
ENV{UDISKS_FILESYSTEM_SHARED}="1", ENV{UDISKS_MOUNT_OPTIONS_DEFAULTS}="rw,nosuid,nodev,relatime"
# VFAT
ENV{ID_FS_USAGE}=="filesystem", ENV{ID_FS_TYPE}=="vfat", \
ENV{UDISKS_MOUNT_OPTIONS_VFAT_DEFAULTS}="uid=$UID,gid=$GID,shortname=mixed,utf8=0,showexec,flush,umask=0002,dmask=0002,fmask=0002", \
ENV{UDISKS_MOUNT_OPTIONS_VFAT_ALLOW}="uid=$UID,gid=$GID,codepage=437,iocharset=ascii,shortname,showexec,utf8,umask,dmask,fmask"
# GOTO
LABEL="udisks_mount_options_end"

在日志中它似乎有效......

E: UDISKS_FILESYSTEM_SHARED=1
E: UDISKS_MOUNT_OPTIONS_DEFAULTS=rw,nosuid,nodev,relatime
E: UDISKS_MOUNT_OPTIONS_VFAT_DEFAULTS=uid=$UID,gid=$GID,shortname=mixed,utf8=0,showexec,flush,umask=0002,dmask=0002,fmask=0002
E: UDISKS_MOUNT_OPTIONS_VFAT_ALLOW=uid=$UID,gid=$GID,codepage=437,iocharset=ascii,shortname,showexec,utf8,umask,dmask,fmask

...但实际上并非如此。组“john”仍然没有写入权限。

$ ls -l /media/
total 28
lrwxrwxrwx  1 root   root       6 oct  2 20:59 cdrom -> cdrom0
drwxr-xr-x  2 root   root    4096 oct  2 20:06 cdrom0
drwxr-xr-x  2 root   root    4096 oct  2 20:06 cdrom1
drwxr-xr-x  3 john   john   16384 dic 31  1969 KINGSTON

几天来,我一直在寻找和测试涉及 udev、polkit 或 udisks 的解决方案,但没有成功。我真的需要帮助!!

相关内容