Ubuntu: 다른 사용자의 디렉토리를 나열하지 않고 SFTP 사용자를 작업 디렉토리로 지정 [닫기]

Ubuntu: 다른 사용자의 디렉토리를 나열하지 않고 SFTP 사용자를 작업 디렉토리로 지정 [닫기]

Ubuntu Server 18.04에서 SFTP 서버를 구성하고 있습니다. 다른 계정을 나열하지 않고 작업 디렉터리를 직접 가리키는 SFTP 계정을 만들고 싶습니다. 예를 들어, 서버의 실제 작업 디렉터리가 이면 /sftpdir1/sftpdir2/user1사용자는 /대신 다음을 /user1사용할 때와 같이 표시되어야 합니다 chrootdirectory. FileZilla를 통해 로그인하면 아래 이미지와 같은 디렉터리를 찾아야 합니다.1파일을 업로드하고 다운로드할 수 있는 곳은 어디인가요?

업데이트: chrootdirectory를 설정하지 않는 이유/etc/ssh/sshd_config

동일한 그룹에 더 많은 사용자가 할당된 경우 동일한 을 사용하면 chrootdirectory그 중 모든 사용자가 다른 모든 사용자의 작업 디렉터리를 볼 수 있습니다. 또는 로그인함으로써 사용자가 다른 사람의 디렉토리나 자신의 작업 디렉토리 트리를 보는 것을 원하지 않습니다. /표시된 대로 보십시오.

답변1

/사용자가 자신이 본 것을 쓸 수 없다는 점을 인정해야 합니다 . 따라서 실제로 홈 디렉토리를 chroot 디렉토리로 만들 수는 없습니다. "작업 디렉터리"가 홈 디렉터리를 참조하지 않는다면 신경 쓸 필요가 없습니다. 디렉토리를 생성하면 됩니다

/sftproot
   |__ user-1
   |     |___ rw-dir
   |__ user-2
   |     |___ rw-dir

그리고 set ChrootDirectory /sftproot/%u. 이 user-x디렉토리는 루트로만 쓸 수 있습니다. 어떤 사용자도 다른 사용자의 chroot 디렉토리를 볼 수 없습니다.

홈 디렉토리 사용

사용자가 자신의 홈 디렉터리를 보고 동일한 디렉터리 구조를 만들도록 하려면 다른 이름을 사용하는 것이 좋습니다.

/sftproot
   |__ user-1
   |     |___ user-1
   |__ user-2
   |     |___ user-2

번들 설치를 수행합니다.

mount --bind   /home/user-1   /sftproot/user-1/user-1

이는 항목을 통해서도 수행할 수 있습니다 fstab.

관련 정보