Estou tentando montar automaticamente todas as unidades internas e externas legíveis no boot e no hot-plug se elas ainda não estiverem montadas, preferencialmente como um usuário não-root .
Eu não posso usar fstab
para fazer isso porque as unidades mudam com muita freqüência, e udisks2
não parece automontar dispositivos quando o usuário não está logado localmente.
Eu encontrei um conjunto de regras udev
para realizar algo assim aqui , mas eu li que a montagem via udev
rules é um MUITO má idéia e não funciona de qualquer maneira com systemd .
Qual seria a maneira correta de fazer isso em um sistema Debian (jessie) sem cabeça ?
Observação: criei essa regra udev
, mas não tenho certeza se é o jeito certo de fazer isso:
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"
Esta regra não resolve o problema de verificação de autorização para usuários que não estão conectados localmente.
ESCLARECIMENTO:
O que eu estou basicamente procurando é a funcionalidade de usbmount
que funciona para dispositivos ATA e não sobrecarrega o diretório /media
com pastas não usadas, em suma.
Tags udev debian udisks hot-plug automounting