SFTP 사용자 액세스를 지정된 디렉터리로 제한

SFTP 사용자 액세스를 지정된 디렉터리로 제한

Open SSH와 함께 Ubuntu 14.04 서버가 설치되어 있습니다. 고객이 파일만 다운로드할 수 있도록 sftp를 구성하고 싶습니다. 즉, 감옥에 갇힌 디렉토리에 파일을 넣었습니다. 나는 그들이 자신의 파일을 통해서만 디렉토리에 액세스할 수 있고 다른 것은 액세스할 수 없도록 해야 합니다.

원래는 vsftpd를 사용하려고 했는데 누군가 sftp가 더 나은 선택이라고 말했습니다. 내가 필요한 것에 대한 문서가 있다면 좋을 것입니다.

다음과 관련해 도움이 필요합니다.

  1. SFTP를 구성하는 방법
  2. 사용자 계정을 설정하고 SFTP에 사용하는 방법
  3. 계정을 감옥에 설정하는 방법

답변1

설정/etc/ssh/sshd_config

Subsystem sftp internal-sftp -f AUTH -l VERBOSE
UsePAM yes
Match group sftp
  ChrootDirectory %h
  ForceCommand internal-sftp
  AllowTcpForwarding no

그룹 SFTP 생성:

groupadd sftp

디렉터리 생성

sudo mkdir /ftpusers
sudo mkdir /ftpusers/HomeFolder

새 SFTP 그룹이 연결된 사용자를 직접 생성합니다.

sudo useradd -d /ftpusers/HomeFolder -m UserName -g sftp -s /bin/false
sudo passwd UserName

sftp용 ssh와 함께 사용할 권한을 설정합니다.

chown root:root /ftpusers/HomeFolder
chmod 755 /ftpusers/HomeFolder

서비스 다시 시작:

service ssh restart

새 SFTP 사용자의 홈 폴더에는 루트 소유자가 지정되어야 합니다.

관련 정보