'vsftpd'에 해당되는 글 1건

  1. 2012.03.25 CentOS - vsftpd

CentOS - vsftpd

Study/CentOS 2012. 3. 25. 18:57

1. vsftpd 설치

[root@localhost ~]# yum install vsftpd

2. vsftpd 설정
[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf

anonymous_enable=YES
익명 ftp 서비스를 사용하려면 위의 옵션을 YES로, 사용하지 않으려면 NO 또는 주석처리 하면된다.
익명 ftp 서비스를 사용하지 않으면 익명 관련 옵션은 무시된다.

local_enable=YES
로컬 계정사용자들이 접속할 수 있도록 설정하는 옵션이다.

write_enable=YES
접속자들이 쓰기가 가능하도록 설정하는 옵션이다.

local_umask=022
로컬 계정사용자들이 파일을 생성할 때 파일의 퍼미션을 정하는 옵션이다.
022로 설정하면 업로드되는 파일의 퍼미션은 644로 생성된다.

anon_upload_enable=YES
익명 ftp 접속자의 파일 업로드 권한을 설정하는 옵션이다.

anon_mkdir_write_enable=YES
익명 ftp 접속자의 디렉터리 생성 권한을 설정하는 옵션이다.

dirmessage_enable=YES
ftp 접속자가 다른 디렉터리로 이동할 때 알림메시지로 지정된 파일을 설정하고 보여주는 옵션이다.

xferlog_enable=YES
접속자들의 업로드, 다운로드 전송 로그를 로그파일로 저장할 것인지 설정하는 옵션이다.
YES로 설정시 /var/log/xferlog 파일에 로그가 저장된다.

connect_form_port_20=YES
standalone 모드로 운영할 때 데이터 전송포트를 사용할 경우 설정하는 옵션이다.

chown_uploads=YES
익명 ftp 서비스시 익명접속자가 업로드한 파일의 소유권을 자동으로 변경하도록 설정하는 옵션이다.

chown_username=whoever
익명 ftp 서비스시 익명접속자가 업로드한 파일의 소유권을 자동으로 변경한 후 그 소유권을 변경할 유저를 설정하는 옵션이다.

xferlog_file=/var/log/vsftpd.log
로그파일을 남길 것이라고 설정하였으면 여기서 파일명을 지정해야 한다.

xferlog_std_format=YES
로그파일의 포맷을 설정하는 옵션이다.

idle_session_timeout=600
접속자들이 어떤 작업도 하지 않은채 600초동안 유지되면 자동으로 ftp 연결을 종료하도록 설정하는 옵션이다.
시간설정은 초단위 이다. 주석처리하면 기본값으로 300초로 설정된다.

data_connection_timeout=120
파일 업로드, 다운로드시 연결을 유지하는 시간을 설정하는 옵션이다.
연결시간이 초과되면 업로드, 다운로드 명령이 취소된다. 주석처리하면 기본값 300초로 설정된다.

nopriv_user=ftpsecure
익명 ftp 서비스시 익명접속자가 접속할 떄 이곳에 설정한 유저로 접속하도록 하는 옵션이다.
기본값은 nobody이다. 익명접속자가 업로드 한 파일의 소유자는 이곳에서 설정된 유저명으로 설정된다.

async_abor_enable=YES
async ABOR 명령어를 사용할 수 있도록 할 것인지 설정하는 옵션이다. 기본값은 NO이다.

ascii_upload_enable=YES
ASCII파일 업로드를 가능하게 설정하는 옵션이다. 기본값은 NO이다.

ascii_download_enable_YES
ASCII파일 다운로드를 가능하게 설정하는 옵션이다. 기본값은 NO이다.

ftpd_banner=Welcome to blah FTP service.
vsftpd 서비스에 접속하는 접속자에게 보여줄 텍스트 환영메시지를 설정하는 옵션이다.

deny_email_enable=YES
익명 ftp서버에 익명 접속자가 접속할 때에는 패스워드 부분에 이메일주소를 입력하는데, 이때 접속을 거부할 이메일주소를 설정하는 옵션이다. YES로 설정하였으면 /etc/vsftpd/banned_emails에 접속을 거부할 이메일을 적어주면 된다. 기본값은 NO이다.

banned_email_file=/etc/vsftpd.banned_emails
deny_email_enable=YES로 설정했을 때 접속을 거부할 email 목록파일의 경로를 설정하는 옵션이다.

chroot_local_user=YES
사용자가 접속했을 때 자신의 홈디렉터리를 / 디렉터리로 인식하게 하여 자신의 홈디렉터리 아래로만 이동이 가능하도록 제한 하기 위한 설정옵션이다. chroot에서 제외할 유저리스트는 기본값으로 /etc/vsftpd/chroot_list 파일에 작성하면 된다. 기본값은 NO이다.

chroot_list_enable=YES
로컬유저들에 대한 chroot를 설정하였다면 chroot에서 제외할 유저들의 목록 저장 파일을 사용할 것인지 설정하는 옵션이다. 기본값은 NO이다.

chroot_list_file=/etc/vsftpd/chroot_list
chroot에서 제외할 유저들의 목록파일과 경로를 설정하는 옵션이다. /etc/vsftpd/chroot_list 파일에 한 줄 단위로 유저아이디를 입력하면 여기에 입력된 계정들은 ftp 접속시 시스템 전체 / 를 볼 수 있게 된다.

ls_recurse_enable=YES
접속자들이 ls -R 명령어를 사용하도록 할 것인지 설정하는 옵션이다. 기본값은 NO이다.
ls -R 명령어를 사용하면 시스템에 많은 부하가 걸리므로 설정하니 않도록하는 것이 좋다.

listen=YES
standalone모드로 서비스를 하고자 할 때 설정하는 옵션이다. 설정이 없으면 기본으로 xinetd모드로 서비스한다.

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES


3. iptables 설정
iptables에 20, 21번 포트를 등록한다.

[root@localhost ~]# vi /etc/sysconfig/iptables

추가내용
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

iptables 재시작

[root@localhost ~]# service iptables restart



4. 자동실행 설정
런레벨 2, 3, 4, 5에서 자동으로 실행
[root@localhost ~]# chkconfig --level 2345 vsftpd on


4. 설치중에 생긴 오류
500 OOPS: cannot change directory
/etc/vsftpd/vsftp.conf 설정 후에도 오류가 나오면 SELinux 때문이라고 한다.
[root@localhost ~]# setsebool -P ftp_home_dir=1
ftp directory에 대한 접근을 허가 하게된다. -P 값을 저장하는 옵션이다.


'Study > CentOS' 카테고리의 다른 글

CentOS - ipv6 비활성  (0) 2012.04.30
Posted by theqoo
,