udev에서 FUSE를 마운트하면 "전송 끝점이 연결되지 않음"이 표시됩니다. 루트에는 문제가 없습니다.

udev에서 FUSE를 마운트하면 "전송 끝점이 연결되지 않음"이 표시됩니다. 루트에는 문제가 없습니다.

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)

이 문제의 원인이 무엇인지, 누구의 잘못인지 또는 다음 디버깅 단계가 무엇인지 전혀 모릅니다. 어떤 아이디어가 있나요?

관련 정보