我在尝试着自动挂载所有可读的内部和外部驱动器启动等等热插拔如果尚未安装,最好作为非root用户。
我无法fstab
执行此操作,因为驱动器更改得太频繁,并且udisks2
当用户实际未在本地登录时似乎不会自动安装设备。
我找到了一个udev
规则集来完成这样的事情这里,但我读过通过udev
规则安装是非常糟糕的主意无论如何都不起作用系统。
在 a 上执行此操作的正确方法是什么无头 Debian (杰西)系统?
笔记:我已经创建了这条udev
规则,但我不确定这是否是正确的方法:
KERNEL!="sd[a-z][0-9]", GOTO="automount_disks_END"
# Check if it is a mountable disk, skip if not
IMPORT{program}="/bin/udevadm info --query=property --name=%k"
ENV{ID_TYPE}!="disk", GOTO="automount_disks_END"
ENV{ID_FS_TYPE}=="", GOTO="automount_disks_END"
# Set mount options
ACTION=="add", ENV{mount_options}="nosuid,nodev"
ACTION=="add", ENV{ID_BUS}=="ata", ENV{mount_options}="$env{mount_options},rw,dmask=022,fmask=033"
ACTION=="add", ENV{ID_BUS}=="usb", ENV{mount_options}="$env{mount_options},ro,noatime,dmask=222,fmask=333"
# Mount the disk
ACTION=="add", RUN+="/bin/su - user -c \"/usr/bin/udisksctl mount --block-device /dev/%k --options $env{mount_options} --no-user-interaction\""
# Clean up after removal
ACTION=="remove", RUN+="/bin/su - user -c \"/usr/bin/udisksctl unmount --force --block-device /dev/%k --no-user-interaction\""
# Exit
LABEL="automount_disks_END"
此规则也不能解决未本地登录的用户的授权检查问题。
澄清:
简而言之,我基本上寻找的是适用于 ATA 设备的功能usbmount
,并且不会用未使用的文件夹弄乱目录。/media