ecryptfs: ls는 최상위 폴더를 나열하지만 "해당 파일이나 디렉터리가 없습니다"

ecryptfs: ls는 최상위 폴더를 나열하지만 "해당 파일이나 디렉터리가 없습니다"

sudo mount -t ecryptfs [SRC DIR] [DST DIR]나는 with ecryptfs-recover-privatemount: No such file or directorywith setreuid: Operation not permitted모두 failed 에 성공적으로 사용했습니다 strace --follow-forks -o file.log ecryptfs-recover-private. 그런데 왜 다른 오류가 발생합니까 --follow-forks? 별도의 질문을 해볼 가치가 있을 것 같습니다 strace.

어쨌든 설치되었지만 ls [DST DIR]올바른 홈 폴더처럼 보이는 파일과 폴더가 나열되었지만 ?"액세스할 수 없습니다... 해당 파일이나 디렉터리가 없습니다"라는 메시지가 표시됩니다. 무엇이 문제일까요?

웹 검색을 통해 mount해당 질문에 대한 QA를 성공적으로 찾았습니다.https://askubuntu.com/questions/1074753/ecryptfs-mount-private-failure-in-ubuntu-18-04-mount-no-such-file-or-directory; https://askubuntu.com/questions/1126981/ecryptfs-mount-no-such-file-or-directory; 마운트: 암호화 없이 복구된 파일 또는 디렉터리 "ecryptfs-mount-private"은 "fopen: 해당 파일 또는 디렉터리가 없습니다"를 반환합니다.

나에게 가장 가까운 것은커널 4.7부터 ecryptfs 설치가 실패합니다.또한 ?작동 ls하지만 2016년의 것이고 대답은 일반 텍스트로의 커널 변경 + 암호화된 이름 변경이며 암호화된 홈 폴더는 2021년입니다.

그런데, 나는 mount및 .plaintext passthrough yn

답변1

기본적으로 제공되는 FDEK(File Name Decryption Key) mount가 올바르지 않아 이전에는 이를 인지하지 못했습니다.

긴 이야기 짧게

암호화된 폴더를 마운트하고 읽을 수 있습니다 ecryptfs-recover-private.

ecryptfs-recover-private는 쉘 스크립트이고 끝 부분에 하나가 있습니다 mount -i -t ecryptfs -o "$mount_opts" "$d" "$tmpdir". 나는 스크립트와 내 방식을 비교했으며 IMO의 유일한 차이점은 -i스크립트의 플래그입니다(다른 옵션은 실행할 때 대화식으로 선택한 것과 동일해 보입니다 mount -t ecryptfs) ecryptfs_sig=$mount_sig,ecryptfs_fnek_sig=$fnek_sig,ecryptfs_cipher=aes,ecryptfs_key_bytes=16.

이 사실을 알고 문제를 생각해 보니 FDEK를 확인하게 되었는데, 실제로 터미널에서 mount기본적으로 제공되는 FDEK(파일 이름 복호화 키)가 올바르지 않은 것을 확인했습니다. Private.sigFDEK에서 두 번째 줄을 입력했을 때도 mount -t작동했습니다.

관련 정보