기본적으로 시놀로지의 SSH로 접속해서 cd / 명령어로 최상위 폴더로 접속해보면 아래와 같이 최상위 폴더들이랑 시스템 파일들이 보입니다.
궁금한점이 SFTP 클라이언트를 사용하여 / 경로로 (최상위) 접속을 하게되면 공유폴더들만 보이게되는데 보시다시피 공유폴더들이 volume 1,2,3 으로 나눠져있는데도 / 경로로 SFTP 접속시 공유폴더들이 전부 노출이 되는 이유가 궁금합니다.
그리고 사실 현재 SFTP로 사용하는 폴더들은 volume2에 전부 포함되어있고 / 경로(최상위)로 디스크 마운트 시키면 시스템 용량을 기준으로 측정해버리다보니 잔여 용량이 1~3GB 가량정도 밖에 안됩니다. 이러다 보니 읽기는 문제가 없는데 업로드를 하게되면 윈도우에서 아예 시스템 잔여 용량으로 용량을 측정해버리니, 용량이 부족하여 업로드가 부족합니다 라는 문구가 노출이됩니다.
cd volume2로 들어가보면 @로 시작되는 알수없는 폴더들이 있긴하지만 기존에 / 최상위경로에서 보이는 폴더들이 노출되고 있습니다.
제 생각에는 volume2를 최상위 폴더로 설정하면 잔여용량또한 볼륨2 기준으로 설정되어 용량제한이 없어질것같은데 사측에서 개발한 클라이언트에서는 / 경로로 마운트하면 공유폴더들이 전부 노출이 되고, /volume2로 마운트하면 경로설정자체가 잘못된 에러가 발생합니다.
사측 클라이언트의 코드를 확인해보면 아래와 같습니다.
여기서 folder 항목에 / 를 사용하면 공유폴더가 전부 노출, /volume2로 설정하면 문제가 발생.. 이런상황입니다.
제가 봤을때는 클라이언트 측에서 고칠수 있는 것은 저 folder 항목밖에 없어서 서버측 설정을 건들여야할것같은데 제 생각은
/etc/ssh/sshd_config 항목의 ChrootDirectory 쪽을 건들여야하나 싶기도하고... 그런데 저번에 이쪽 항목을 잘못 건들였다가 SFTP가 전부 먹통이 된 기억이 있어 혹시 이 부분에 대해서 설정방법을 아시는분이 계신지 궁금하여 여쭤봅니다. 이게 시놀로지여서 발생하는 문제인지... 그냥 다시 처음부터 우분투로 SFTP 서버를 열어야하는건지.. 고민이되네요...
제어판-파일서비스-ftp 의 하단쪽에 보면 고급설정에서 사용자별 루트 디렉토리 변경이 있습니다.
여기서 원하는 계정의 / 를 원하는 공유폴더로 지정은 가능합니다. 공유폴더만 되죠.
그리고 지정해준 공유폴더 내부에 ftp 계정이 접근해야할 폴더들을 마운트해주고 마운트 되는 공유폴더들의 권한도 제어판에서 다 설정하구요.
이렇게 하면 클라이언트의 folder 는 / 가 되면 됩니다.
클라이언트(?)가 용량측정을 어떻게 하는지 모르겠으니 이렇게도 한번 테스트해보세요.
루트 디렉토리 밑에 마운트를..volume2 로 하면 또 어떻게 될런지 모르겠네요? ㅎ
다만 문제가.. 권한없는 폴더도 폴더명이 노출된다는점입니다. 이게 공유폴더 설정에서 '권한 없는 사용자에게 하위 폴더 및 파일 숨기기' 를 설정해도 윈도우에서는 폴더명이 노출이 되더라구요. 다만 접속은 안됩니다만.. 폴더명도 감춰져야되서요.