我有一台装有 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 的解决方案,但没有成功。我真的需要帮助!!