FTP 사용자에게 심볼릭 링크를 사용하여 루트 외부의 디렉토리에 대한 액세스 권한 부여


8

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

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

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

documents: No such file or directory

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

답변:


21

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


서버를 다시 시작할 때마다 수행해야합니까?
Sebastián Grignoli

1
예; 에 넣기를 원할 것입니다 /etc/fstab.
geekosaur

7
예를 들어 다른 사람을 돕기 위해 mount와 fstab quivelants가 있습니다 : mount mount --bind /path/to/original/directory /path/to/mountpoint fstab /path/to/original/directory /path/to/mountpoint none bind 0 0
Benjamin Kaiser
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.