Eu quero ir além dessa excelente solução por @ A.B. que permite montar automaticamente um determinado FS ext3 removível usando uma regra udev
. Especificamente, gostaria de especificar várias opções de montagem : " nodev,noexec,x-gvfs-show
", de preferência dentro da regra específica udev
usada para montá-lo, já que ele lida com uma meio físico específico.
Sem nenhuma opção especificada, o volume é montado assim:
$ cat /proc/mounts | grep -e MYLABEL
/dev/mmcblk0p1 /mnt/MYLABEL ext3 rw,relatime,data=ordered 0 0
Para especificar as opções de montagem, tentei expandir a regra udev
da solução anterior para:
KERNEL=="mmc*", ENV{ID_FS_UUID}=="______", RUN+="/usr/local/sbin/mount_by.sh '%E{ID_FS_LABEL}' '%E{ID_FS_UUID}' 'nodev,noexec,x-gvfs-show'"
em que /usr/local/sbin/mount_by.sh
inclui:
#!/bin/sh
/bin/mount "/dev/disk/by-uuid/$2" "/mnt/$1" -o "$3"
As opções acima são silenciosas, pois as opções de montagem definidas pela raiz parecem ser rejeitadas e o volume (um cartão SD) é montado silenciosamente em / media / MYUSER / MYLABEL.
Qual é o problema?
O que tentei fazer:
Os muitos posts que eu tenho visto lidando com dificuldades de especificação de mount-option (s) ao usar udev
(por exemplo 1 , 2 , ...) permanecem sem resposta.
Um lida com a opção x-gvfs-show
do GVFS usada em conjunto com as regras udev
, quando o volume montado deve aparecer em Devices
na GUI do Nautilus e o usuário não raiz deve poder desmontá-lo. Para pelo menos ter esse último aspecto coberto, reverti para NÃO especificar a opção mount nas minhas regras do udev, mas adicionei uma /etc/fstab
entry, um hack bastante feio, dado que eu mantenho uma regra udev
para o mesmo volume uuid em paralelo . Ainda assim, acrescentei:
UUID=_________ /mnt/MYLABEL ext3 nodev,noexec,x-gvfs-show 0 2
O FS está montado mas, embora apareça como pretendido no Nautilus, cat /proc/mounts | grep -e MYLABEL
produz o mesmo resultado de antes ... isto é, as opções nodev,noexec
parecem ser ignoradas de maneira clara.
Não é muito surpreendente que eu também receba a mensagem de erro na tela:
Unable to mount MYLABEL.
Device /dev/mmcblk0p1 is already mounted at '/mnt/MYLABEL'.
Alguém pensou em alguém?
BOUNTY Por favor, tente fornecer uma resposta canônica que possa servir a este OP e a todas as pessoas interessadas em especificar as opções de montagem através de uma regra udev
. Se não for possível, explique por que e forneça uma solução viável. Felicidades.