我正在开发一个脚本,它只提供安装特定的 USB 存储。
首先,我通过添加阻止了 /etc/udev/rules.d/85-no-automount.rules 的自动挂载功能
blockrule="SUBSYSTEMS=="usb", ENV{UDISKS_AUTO}:="0", ENV{UDISKS_IGNORE}:="1";
它工作正常
其次,mount命令在具有root权限的脚本中运行。
mount -t vfat -o umask=0000 /dev/sdb1 /media/AA;
它也可以正常工作,标准用户,登录的管理员可以读写USB。
当用户想要从 GUI 中卸载 USB 驱动器时会出现问题
当我添加以下行的 fstab 时
/dev/sdb1 /media/AA vfat rw,umask=0 0 0
消息更改为:
/media 文件夹包含:
(/media)
∴ ll
total 24
drwxr-xr-x 6 root root 4096 Ağu 21 11:15 .
drwxr-xr-x 24 root root 4096 Ağu 20 09:33 ..
drwxrwxrwx 3 root ossec 4096 Oca 1 1970 AA
drwxr-x---+ 2 root root 4096 Ağu 20 15:34 deneme
drwxr-x---+ 2 root root 4096 Ağu 21 10:29 root
我认为问题是安装字典的所有者
drwxrwxrwx 3 root ossec 4096 Oca 1 1970 AA
所以我尝试将 mount 命令更改为
mount -t vfat -o uid=1004,gid=1004 umask=0000 /dev/sdb1 /media/AA;
/media 文件夹更改为:
(/media)
∴ ll
total 24
drwxr-xr-x 6 root root 4096 Ağu 21 11:42 .
drwxr-xr-x 24 root root 4096 Ağu 20 09:33 ..
drwxrwxrwx 3 deneme deneme 4096 Oca 1 1970 AA
drwxr-x---+ 3 root root 4096 Ağu 20 15:22 aagin
drwxr-x---+ 2 root root 4096 Ağu 20 15:34 deneme
drwxr-x---+ 2 root root 4096 Ağu 21 10:29 root
已安装字典的所有者更改为
drwxrwxrwx 3 deneme deneme 4096 Oca 1 1970 AA
但这并不能解决问题。我也改变了
/usr/share/polkit-1/actions/ org.freedesktop.udisks.policy
/usr/share/polkit-1/actions/ org.freedesktop.udisks2.policy
在这些文件内部,每个节点都有:
<defaults>
<allow_any>yes</allow_any>
<allow_inactive>yes</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
标准用户如何从 GUI 卸载?
谢谢