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

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

我有一台装有 Debian 10 的 PC。我需要 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 和 I 完成的要求它是 drwxrwxr-x。换句话说,用户必须能够通过允许对主要用户组“john”(本例中为“john”)提供完全访问权限的安装选项来访问 USB 记忆棒上其他用户的数据。

我尝试过的许多事情之一但它不起作用:编辑/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 的解决方案,但没有成功。我真的需要帮助!

相关内容