FTP 사용자에게 심볼릭 링크를 사용하여 루트 외부의 디렉토리에 대한 액세스 권한 부여 문서를 보유한 디렉토리이며 /var/ftp/users/test/documents 이를

콘솔을 통해 루트로 만든 심볼릭 링크를 사용하여 proftpd 가상 사용자에게 홈 경로 외부의 디렉토리에 대한 액세스 권한을 부여하려고했습니다.

/var/ftp/users/test 이라는 사용자의 홈입니다 test.
/var/ftp/files/documents 문서를 보유한 디렉토리이며 /var/ftp/users/test/documents 이를 가리키는 심볼릭 링크입니다.

그러나 사용자가 FTP에 연결하고 심볼릭 링크를 따르려고하면 다음 오류 만 표시됩니다.

documents: No such file or directory

내가 무엇을 잘못하고 있지?



답변

심볼릭 링크는 사용자와 같은 방식으로 감옥에 고정됩니다. 그렇지 않으면 사용자가로 감옥에서 탈퇴 할 수 있습니다 cd documents. (아니요, 루트에서 생성 된 심볼릭 링크는 cd -P symlink-to-dir; cd ..잘못된 위치 에있는 것과 같은 이유로 특수하게 처리 될 수 없습니다 . 예상대로 작동하는 것처럼 보이는 모양은 쉘에서 생성 된 환상입니다.) 대신 바인드 마운트를 사용하십시오. ( mount --bind /var/ftp/files/documents /var/ftp/users/test/documents).


답변