O que eu fiz foi isso: mv / bin / ntfs-3g /bin/ntfs-3g.bin e substituiu-o por este código:
#!/bin/bash
echo "ntfs:*=$@"
p1=
echo "ntfs:p1=$p1"
shift
p2=""
echo "ntfs:p2=$p2"
shift
echo "ntfs:1="
test "" == "-s" && shift
echo "ntfs:1="
exec /bin/ntfs-3g.bin $p1 "$p2" $@
Isso parece resolver o problema. Eu estou planejando um sistema onde um laptops desacompanhados monta e desmonta dispositivos conectados e desconectados de suas portas USB automaticamente para uma pasta compartilhada via samba na rede local. Até agora, aqui está o que eu tenho:
apt-get install autofs
adicione isso ao auto.master:
<root path here> program:/etc/auto.usb.prg ro
O "ro no final é o que requer a correção ntfs. Sem tudo isso é bom, mas as unidades são montadas r / w e desconectando-as sem umount (o que não é possível em um laptop desacompanhado, sem interface) inseguro.
Coloque isso em /etc/auto.usb.prg
#!/bin/bash
# - confuses grep. I do not know why automount asks for this key sometimes.
test "" == "-" && exit
devData='blkid|grep "\|${1/_/ }"'
# determining fstype as auto seems to not work well.
t=${devData##*TYPE=\"}
t=${t%%\"*}
echo "-fstype=$t :${devData%%:*}"
Eu criei este arquivo: /etc/udev/rules.d/85-usbdrive-sharing.rules
ACTION!="add", GOTO="carols_autommount_end"
DEVPATH!="*block/sd[b-z]/sd[b-z][1-9]", GOTO="carols_autommount_end"
# Import FS infos
IMPORT{program}="/sbin/blkid -o udev -p %N"
ENV{ID_FS_LABEL}!="", RUN+="/bin/ls '/home/sftpuser/extern/%E{ID_FS_LABEL}'", GOTO="carols_autommount_end"
ENV{ID_FS_LABEL}=="", RUN+="/bin/ls /home/sftpuser/extern/%k"
# Exit
LABEL="carols_autommount_end"
Estou com problemas para remover os diretórios quando os dispositivos estão desconectados. As regras podem ser reescritas para enviar o automount killall -USR1 na remoção do dispositivo. Se, no momento, nenhum cliente estiver usando o dispositivo, ele será desmontado.