* 설치 및 설치 확인
* yum install vsftpd
* yum info vsftpd
* 설정파일 및 디렉토리
* /usr/sbin/vsftpd : 실행 파일
* /etc/vsftpd/vsftpd.conf : vsftpd의 메인 설정 파일
* /etc/vsftpd/ftpusers : ftp서버에 로그인 할 수 없는 사용자 목록 리스트
* /etc/vsftpd/user_list : 접근 허용및 거부 리스트
* /var/ftp : 기본 작업 디렉토리
* /var/ftp/pub : 익명사용자 로그인시 기본 디렉토리
* 옵션
* /etc/vsftpd/vsftpd.conf
* anonymous_enable=YES : 익명사용자 허용/거부
* local_enable=YES : 로컬 사용자(/etc/passwd에 있는 사용자) 로그온 허용/거부
* write_enable=YES : 파일시스템에 데이터 쓰기 허용/거부
* local_umask=022 : 퍼미션. 반대로 적용된다. 022: 666-022=644 : rwx에서 x는 필요없음. 666이 기본
* anon_upload_enable=YES : 익명사용자의 파일 업로드 허용/거부
* anon_mkdir_write_enable=YES : 익명사용자의 디렉토리 생성 허용/거부
* dirmessage_enable=YES : ftp접속자가 디렉토리 이동시 알림메세지로 설정된 파일 내용 출력
* xferlog_enable=YES : 사용자의 업로드 다운로드를 로그 파일로 저장(/var/log/xferlog에 기록)
* connect_from_port_20=YES : 데이터전송포트
* chown_uploads=YES : 익명사용자가 업로드한 파일의 퍼미션 자동 변경
* chown_username=whoever : chown_uploads 옵션이 YES일 경우 변경할 사용자 명
* xferlog_file=/var/log/xferlog : xferlog_enable옵션이 YES일 경우 저장할 경로 지정
* xferlog_std_format=YES : xferlog 로그의 표준 포맷 사용
* idle_session_timeout=600 : idle상태가 600초 동안 이어질때 세션 종료
* data_connection_timeout=120 : 파일 업/다운로드시 연결 유지시간 지정. 시간 초과시 업/다운 취소.
주석처리되면 기본값으로 300초 지정.
* nopriv_user=ftpsecure : 익명 접속시 사용할 유저 명
* async_abor_enable=YES : async ABOR 명령 사용을 허용/거부
(일부ftp클라이언트에서 파일 전송 취소해도 취소되지 않는 상태가 생길수 있음. 그때 사용)
* ascii_upload_enable=YES : ASCII 파일 업로드 허용/거부
* ascii_download_enable=YES : ASCII 파일 다운로드 허용/거부
* ftpd_banner=Welcome to... : ftp 접속 성공시 출력하는 환영 메세지 지정
* deny_email_enable=YES : 익명 접속 시 패스워드에 입력하는 이메일 중 특정 이메일 거부
* banned_email_file=/etc/vsftpd/banned_emails : deny_email_enable 옵션이 YES일때 거부할 이메일 목록
* chroot_local_user=YES : 사용자 접속시 자신의 홈디렉토리를 / 로 인식하게 하여 하위로 이동만 가능
* chroot_list_enable=YES : chroot에서 제외할 사용자 목록 사용 여부
* chroot_list_file=/etc/vsftpd/chroot_list : chroot_list_enable이 YES일 경우 해당 목록 파일 지정
* ls_recurse_enable=YES : 접속자에게 ls -R(하위dir까지출력) 명령어 사용 허가/거부(부하가 많으므로 NO)
* listen=YES : standalone모드는 YES, xinetd모드는 NO
* listen_ipv6=YES : IPv6응답 허용/거부
* pam_service_name=vsftpd : 사용자 PAM 인증 시 사용할 설정 파일 이름 지정 (vi /etc/pam.d/vsftpd)
* userlist_enable=YES : /etc/vsftpd/user_list에 지정된 사용자 접속 거부
* tcp_wrappers=YES :
* pasv_min_port=5000 : 패시브 모드시 사용할 시작 포트 번호
* pasv_max_port=6000 : 패시브 모드시 사용할 마지막 포트 번호
* pasv_enable=YES : 패시브 모드 사용/사용안함. NO일 경우 액티브 모드
* max_clients=1 : 최대 동시 접속자수 지정
* max_per_ip=5 : IP당 접속 허용 수 지정(standalone 모드에서만 지원)
* session_support=YES : wtmp에 접속로그 기록 허용/거부(허용 시 last 명령어로 접속사용자의 최근 접속시간 확인가능)
* trans_chunk_size=8192 : 업/다운로드를 지정한 크기(byte단위)로 잘라서 전송
* local_max_rate=1024000 : 계정 사용자의 초당 전송량 제한(byte단위)
* anon_max_rate=1024000 : 익명 사용자의 초당 전송량 제한(byte단위)
* force_dot_files=YES : 접속 사용자가 파일 리스트 출력시 기본 출력에 숨김파일(.xx) 출력 허용/거부
* hide_ids=YES : 접속 사용자가 파일 리스트 출력시 파일과 디렉토리의 소유자 출력 허용/거부(YES일 시 ftp로 출력)
* deny_file={*.mp3,*.wmv} : 지정한 파일 업로드 금지
* hide_file={*.mp3,.txt,secret*} : 접속 사용자에게 지정한 숨김(출력안함)
[일반 구성]
1. anonymous_enable=NO : 익명 거부. 주석처리하면 익명 허용됨. 명시적 NO
2. local_enable=YES : 로컬 사용자 허용
3. chroot_local_user=YES : 상위 폴더 접근 금지
4. pasv_enable=YES : 패시브 모드 사용
5. pasv_min_port=5000 : 시작 데이터 포트
6. pasv_max_port=6000 : 끝 데이터 포트
7. iptables -I INPUT -p tcp --dport 21 -j ACCEPT : 21번 포트 오픈
8. iptables -I INPUT -p tcp --dport 5000:6000 -j ACCEPT : 5000~6000포트 오픈
9. service vsftpd restart
10. chkconfig --level 35 vsftpd on
* 500 OOPS: cannot change directory
* SELinux 로 인한 차단
* setsebool -P ftp_home_dir=1
* -P : 다음 부팅시에도 유지
* SELinux 정책 설정 : setsebool
* SELinux 정책 보기 : getsebool -a
[익명 사용자 구성]
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=YES
chroot_local_user=YES
pasv_enable=YES
pasv_min_port=5000
pasv_max_port=6000
anon_upload_enable=YES
anon_mkdir_write_enable=YES
setsebool allow_ftpd_anon_write on
setsebool ftp_home_dir on
setsebool ftpd_use_passive_mode on
setsebool allow_ftpd_full_access on
chmod 757 /var/ftp/pub
[가상 사용자 구성]
1. db4-utils 설치
* yum install db4-utils
2. ftp 가상 사용자를 사용하는 vsftpd를 구성하는 스크립트
* 가상 사용자 이름을 실제 사용자 이름과 동일하게 사용하지 말것.
* 가상 사용사 삭제 스크립트가 실제 사용자를 지우게 된다.
* 가상 사용자를 이용하는 목적에서 벗어난다
* vsftpd 설치 후 구성 스크립트
* vsftpd_virtual_config.sh : 가상 사용자 구성작업 수행
* 사용자 관리 스크립트
* vsftpd_virtualuser_add.sh : 가상 사용자 추가
* vsftpd_virtualuser_update.sh : 가상 사용자 정보 업데이트
* vsftpd_virtualuser_remove.sh : 가상 사용자 및 모든 데이터 삭제
* vsftpd_virtualuser_info.sh : 가상 사용자 정보 검색
* 사용자 계정 설정
cd /etc/vsftpd/users 경로 이동하여 my_ftp_virtual_user 파일을 참고하여 사용자 계정을 수정해준다.
* 방화벽
* iptables 명령을 통해 tcp 21 , tcp 64000:65535 오픈
'Linux Server' 카테고리의 다른 글
CentOS 6.7 설치 영상 (0) | 2015.09.20 |
---|---|
리눅스 VMware Tools 설치 (0) | 2015.07.01 |
리눅스 DHCP (0) | 2015.06.02 |
CentOS R 설치 (0) | 2015.05.19 |
리눅스 cron - 시스템 작업 예약 (0) | 2015.05.15 |
리눅스 BIND 9.8.2 - CentOS 6.6 / 6.7 (1) | 2015.05.15 |
리눅스 SSH (0) | 2015.05.14 |
리눅스 SAMBA AD Join (0) | 2015.05.13 |