우선 FTP 에서 심볼릭링크(symbolic link)는 비표준이라고 합니다.


빠르게 최근 데이터들을 정리해서 보되, 사본은 만들지 않고 심볼릭링크로 접근하고 있던 부분을 쓰려고 보니 chroot 때문에 접근이 불가능...


보통 "mount --bind" 를 symbolic link 대신 사용하는 방법을 해결안으로 제시하는데 이건 root 권한이 매번 필요.



/volumes/ftpsrv 를 FTP에서 chroot로 쓰고 있었고 이 안에 data 디렉토리가 각종 데이터를 담고 있다.

( /volumes/ftpsrv/data )


FTP 클라이언트마다 되는 놈도 있고 안되는 놈도 있지만, 주로 쓰는 FileZilla 는 chroot 상에서 해당 경로로 접근해주긴 한다.


ln -s /volumes/ftpsrv/data/dir1/target /volumes/ftpsrv/data/dir2/s_target

이렇게 만들어봐야 chroot 로 보면 없는 경로 이므로 접근하지 못한다.


그럼  ln -s /data/dir1/target /volumes/ftpsrv/data/dir2/s_target 는?

안된다. 째째하게도 심볼릭링크 대상 파일이 없으면 만들지 못한다.


이걸 어쩔까 하다가


bind mount를 많이 쓰는 방법이 생각나

/data 디렉토리를 만들었고 

mount --bind /volumes/ftpsrv/data /data


하니,

실제 파일이 존재하므로

ln -s /data/dir1/target /volumes/ftpsrv/data/dir2/s_target

이런 형태로 심볼릭링크도 생성할 수 있고, 


FileZilla 는 chroot 된 경로내에 같은 경로상 파일이 존재해서 접근이 가능하다. -_-;;;

...걍 루트로 mount 돌릴까...



Posted by freezn