Proftpd에는 sftp 서버가 내장되어있어 파일 전송을 목적으로 sshd에서 사용자를 완전히 분리 할 수 있습니다. 완전히 분리 된 passwd 파일을 사용하여 파일을 더욱 격리 시키도록 설정할 수 있습니다 (ssh로 시스템에 로그인하여 실제로 / etc / passwd에 사용자가없는 경우 chroot를 통과하기 어렵습니다 .. .)
proftpd를 사용하면 sftp 사용자를 chroot하고 디렉토리 세트로 쉽게 분리 할 수 있습니다.
우리는 이와 같은 일을합니다 :
LoadModule mod_sftp.c
<VirtualHost 10.1.1.217>
ServerName "ftp.example.com"
# from http://www.proftpd.org/docs/howto/NAT.html
MasqueradeAddress 1.2.3.4
PassivePorts 27001 27050
UseSendfile off
ExtendedLog /var/log/proftpd/access.log WRITE,READ default
ExtendedLog /var/log/proftpd/auth.log AUTH auth
AuthUserFile /etc/proftpd/AuthUsersFile
AuthOrder mod_auth_file.c
<IfModule mod_sftp.c>
Port 10022
SFTPAuthorizedUserKeys file:/etc/proftpd/ssh_authorized_keys/%u
SFTPEngine On
SFTPLog /var/log/proftpd/sftp.log
SFTPHostKey /etc/ssh/proftpd-ssh_host_rsa_key
SFTPHostKey /etc/ssh/proftpd-ssh_host_dsa_key
MaxLoginAttempts 6
</IfModule>
</VirtualHost>