pure-ftp 설치
#cd /usr/ports/ftp/pure-ftpd
#make install clean WITH_LANG=korean (pure-ftp에서 한글사용)
TLS , UTF-8 선택
#vi /etc/rc.conf
pureftpd_enable="YES"
#mkdir /home/vftp
#chown vftp:vftp vftp/
#cd /usr/local/etc
#cp pure-ftpd.conf.sample pure-ftpd.conf
pure-ftpd.conf 환경 파일을 설정 합니다.
#vi pure-ftpd.conf
# Change configuration for virtual like:
----------------------------------------------------------------
PureDB /usr/local/etc/pureftpd.pdb
CreateHomeDir yes
PAMAuthentication yes
(시스템 계정 로그인 할수 있게 주석제거)
(시스템 가상 사용자 추가)
#pw user add vftp -s /sbin/nologin -w no -d /home/vftp -c "virtual pure virtual ftp users" -m
사용자 추가시
pure-pw useradd test -u vftp -g vftp -d /home/vftp/
(가상 유저 사용자 디렉토리 설정)
패스워드 입력하라고 나온다.
Password:[ uftp user pass ]
Enter it again: [ uftp user pass ]
#pure-pw mkdb
(사용자 db 업데이트)
ex) 사용자 추가및 ip allow 설정 ..
pure-pw useradd jins -u vftp -g vftp -d /home/vftp/
pure-pw usermod jins -r 192.168.0.2/24 -m
log 관리
vi /usr/local/etc/pure-ftpd.conf
# Create an additional log file with transfers logged in a Apache-like format :
# fw.c9x.org - jedi [13/Dec/1975:19:36:39] "GET /ftp/linux.tar.bz2" 200 21809338
# This log file can then be processed by www traffic analyzers.
AltLog stats:/var/log/pure-ftpd.log
FXP 설정
# Allow FXP transfers for authenticated users.
AllowUserFXP yes
cd /var/log
touch pure-ftpd.log
chmod 640 pure-ftpd.log
vi /etc/syslog.conf
ftp.* /var/log/pure-ftpd.log
/etc/newsyslog.conf 에 다음설정을 추가.
ftp 사용이 많은 서버
# 날짜로 rotation, 매일 0시에 rotation. 최근 10 개 보관
/var/log/pure-ftpd.log 640 10 * @T00 Z
ftp 사용이 적은 서버
# 용량으로 rotation, 200KB 단위 10개 보관
/var/log/pure-ftpd.log 640 10 200 * Z
syslogg 재시작
/etc/rc.d/syslogd restart
pure-ftpd 재시작
/usr/local/etc/rc.d/pure-ftpd restart
------------------------------------------------------------
!!! pure-ftp 설치시 TLS 옵션이 적용 되어 있어야.. 정상적으로 작동한다.
보안인증 사용시
SSL/TLS 지원 작업
mkdir -p /etc/ssl/private
#openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
vi /etc/usr/local/pure-ftpd.conf 수정 TLS 을 사용 하기 위해 주석 제거및 2번으로 설정..
#openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Only tls/ssl 만 사용
TLS 2
#chmod 600 /etc/ssl/private/*.pem
file-zilla 접속시
암호화 : TLS 를 통한 명시적 FTP 필요
로그온 유형 : 일반
으로 해서 접속 하면 된다.
정상적으로 연결 된다면 상태창에서
아래와 같은 메시지를 볼수 있다.
----------------------------------
상태: 192.168.0.22:21에 연결...
상태: 연결 수립, 환영 메시지를 기다림...
응답: 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
응답: 220-You are user number 2 of 50 allowed.
응답: 220-Local time is now 14:57. Server port: 21.
응답: 220-IPv6 connections are also welcome on this server.
응답: 220 You will be disconnected after 15 minutes of inactivity.
명령: AUTH TLS
응답: 234 AUTH TLS OK.
상태: TLS 초기화...
상태: 인증서 검증...
명령: USER test
상태: TLS/SSL 연결 수립.