encfs 암호화 백업 디스크를 마운트하는 udev 규칙이 있습니다.
ACTION=="add",KERNEL=="sd*1",ENV{ID_SERIAL}=="Seagate_GoFlex_Desk_NA0MEYKM-0:0" ,SYMLINK="ext_hd",RUN+="/root/bin/mount.encfs 'Large Backup Drive' /dev/%k"
mount.encfs의 내용은 다음과 같습니다.
#!/bin/bash
set -e
export XAUTHORITY=/home/me/.Xauthority
export DISPLAY=:0.0
NAME=$1
DEV=$2
ENCRYPTED_MOUNT_POINT=/media/ext_hd.encfs
UNENCRYPTED_MOUNT_POINT=/media/ext_hd
[ ! -e $ENCRYPTED_MOUNT_POINT ] && mkdir $ENCRYPTED_MOUNT_POINT
[ ! -e $UNENCRYPTED_MOUNT_POINT ] && mkdir $UNENCRYPTED_MOUNT_POINT
mount -t ext4 $DEV $ENCRYPTED_MOUNT_POINT
encfs -o allow_other --extpass="ssh-askpass $NAME" \
$ENCRYPTED_MOUNT_POINT $UNENCRYPTED_MOUNT_POINT
디스크를 삽입하면 프롬프트가 표시되지만 ls /media/ext_hd를 시도하면 클래식 FUSE가 표시됩니다.
ls: cannot access '/media/ext_hd': Transport endpoint is not connected
수동으로 마운트를 해제한 다음 mount.encfs를 수동으로 실행하면 작동합니다.
mount의 출력은 두 경우 모두 동일합니다.
encfs on /media/ext_hd type fuse.encfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other)
이 문제의 원인이 무엇인지, 누구의 잘못인지 또는 다음 디버깅 단계가 무엇인지 전혀 모릅니다. 어떤 아이디어가 있나요?