Procurei /lib/udev/rules.dexemplos de regras relacionadas ao disco. Em um sistema Ubuntu, um arquivo de regra fornece a variável de ambiente ID_FS_UUID_ENCque você pode usar em seus próprios arquivos de regra.
Assim, coloquei um arquivo de regras personalizado /etc/udev/rules.d/foodevice.rules. Como não é prefixado com um número, ele é finalmente executado pelo udev. Aliás, o daemon udev observou /etc/udev/rules.dalterações, de modo que você não precisa reiniciá-lo nas alterações de arquivo.
O conteúdo de /etc/udev/rules.d/foodevice.rulesé:
ACTION=="add", KERNEL=="sd*[!0-9]", ENV{ID_FS_UUID_ENC}=="FFFF-AAAF",
RUN+="/usr/bin/sudo -u juser /home/juser/path/script.sh"
(esta é uma regra - você deve remover a nova linha após a cláusula ENV porque o udev não possui um mecanismo de continuação de linha)
Um programa iniciado pelo udev bloqueia o daemon - portanto, não deve ser executado por um longo tempo. Eu resolvi isso via at- ou seja, via desanexação do processo realizando o trabalho real:
$ cat /home/juser/path/script.sh
#!/bin/sh
echo ~/path/mountcopystuff.sh | at now