[root@nsBunny~]# yum -y install vsftpd

[root@nsBunny~]# cd /etc/vsftpd/

[root@nsBunny/etc/vsftpd]# vi vsftpd.conf

### anonymous_enable=YES (default = YES). anonymous 사용자의 접속 허용 여부

anonymous_enable=NO

### local_enable=YES (default = NO). 로컬 계정 사용자의 접속 허용 여부

local_enable=YES

### write_enable=YES (defualt = NO). write 명령어 허용 여부

write_enable=YES

### local_umask=022 (default = 077). 로컬 계정 사용자용 umask

local_umask=022

### anon_upload_enable=YES (default = NO). anonymous 사용자가 파일을 업로드 할수 있는지 여부 허용시 업로드 할수있는 디렉토리를 생성해 주어야 한다.

anon_upload_enable=YES

### anon_mkdir_write_enable=YES (default = NO). anonymous 사용자의 디렉토리 생성 허용 여부

anon_mkdir_write_enable=YES

## 새로운 디렉토리에 들어갔을 때 뿌려줄 환경 메시지를 저장한 파일명

dirmessage_enable=YES

# Activate logging of uploads/downloads.

xferlog_enable=YES

### connect_from_port_20=YES Standalone 일때 포트 변경을 원할 경우 설정.

# connect_from_port_20=YES

### listen_port=2121 기본 포트외 다른 포트를 사용한다. vsftpd 서버를 재실행한다.

listen_port=1999

### chown_upload=YES 익명유저가 업로드한 파일의 소유권을 자동변경.

#chown_uploads=YES

### chwon_username=acsecret 소유권을 변경하기 원하는 유저명으로 기입

#chown_username=whoever

### xferlog 표준 포맷은 로그인, 디렉토리 생성등의 로그를 남기지 않지만

### vsftpd 스타일 로그는 이를 포함한 보다 상세한 로그를 남긴다

### xferlog_file=/var/log/vsftpd.log 파일 전송 로그 파일명

xferlog_file=/var/log/vsftpd.log

### xferlog_enable=YES (default=YES). 파일 전송 로그를 남길 것인지 여부

xferlog_enable=YES

### xferlog_std_format=YES (defalut=YES). xferlog 표준 포맷으로 로그를 남길지 여부

xferlog_std_format=YES

### idle_session_timeout=600 (default=300). 클라이언트에서 아무런 명령이 없을경우 세션을 끝낼 때까지의 대기시간.

idle_session_timeout=900

### data_connection_timeout=120 (default=60). data connection 을 끊을 대기 시간.

data_connection_timeout=200

### no_priv_user=ftp 익명(anonymous) 로그인시, 앨리어싱될 유저명 기입.

#nopriv_user=ftpsecure

### session_support=YES wtmp 에 로그 남기기 (YES 로 해야만 last 명령어로 접속 여부 확인 가능)

#session_support=YES

#async_abor_enable=YES

### ascii_upload_enable=YES ASCII 파일 업로드 가능.

#ascii_upload_enable=YES

### ascii_download_enable=YES ASCII 파일 다운로드 가능

#ascii_download_enable=YES

### FTP 서버 접속할 때 로긴 메시지 (default=버전번호). 한글 사용 가능

ftpd_banner=^^ lalalive.pe.kr FTP Server service ^^.

### deny_email_enable=YES 익명 접속시 패스워드에 일반 이메일 주소를 거부 여부

#deny_email_enable=YES

### (vsftpd.banned_emails에 지정된 이메일 주소만 허용)

#banned_email_file=/etc/vsftpd.banned_emails

### chroot_local_user=YES (default=NO). 접속시 로컬 사용자의 홈디렉토리를 /로 변경 사용자의 홈디렉토리를 벗어나지 못하도록

### 제한하기 위한 설정. 제한이 필요할 경우 YES 로 바꾼 후 제한할 사용자 ID chroot_list_file= 에 설정한 파일에 지정한다

chroot_local_user=YES

#chroot_list_enable=YES

# (default follows)

#### 주의할 것은 chroot_local_user=YES chroot_list_enable=YES 를 함께 사용할 경우 /etc/vsftpd.chroot_list에 포함된 사용자 ID

#### 제한없이 홈디렉토리를 벗어날 수 있다. (반대로 작용)

#chroot_list_file=/etc/vsftpd.chroot_list

### ls_recurse_enable=YES 디렉토리 내용 출력시 캐쉬 사용여부.

ls_recurse_enable=YES

### pam_service_name=vsftpd ==> PAM 파일명을 지정 (설치할 때 /etc/pam.d/vsftpd 명으로 복사함)

pam_service_name=vsftpd

### userlist_enable=YES /etc/vsftpd.user_list 에 있는 사용자에 대해 접근을 허가 설정.

userlist_enable=YES

## listen=YES Standalone 으로 운영할 때 listen=YES

listen=YES

tcp_wrappers=YES

##### ========= 가상유저 ==========

guest_enable=YES

### guest_username=virftp ==> 가상 유저의 실제 할당 계정

guest_username=virftp

#### user_sub_token=$USER ==> 서로 다른 홈 디렉토리를 부여하기 위해 셋팅

user_sub_token=$USER

local_root=/home/ftp2

### virftp_use_local_privs=YES 설정하지 않으면 기본 적으로 anonymous 의 권한을 가지고 화일을 생성하지 못한다.

virftp_use_local_privs=YES

### 접속자 - xinetd 를 통하지 않고 standalone으로 동작할 때만 사용 가능)

### max_clients=100 최대 접속자 수

max_clients=15

### max_per_ip=3 IP 당 접속 수

max_per_ip=2

### 전송속도 제한 (0은 제한없음, 단위는 초당 bytes)

### anon_max_rate=10000, trans_chunk_size=0 로 설정하여 chunk size vsftpd 가 판단하도록 한다.

### local_max_rate=200000 계정 사용자의 전송량 제한

local_max_rate=200000

### anon_max_rate=100000 anonymous 사용자의 전송속도 제한

anon_max_rate=100000

### trans_chunk_size=0 지정한 byte 단위로 나눠서 전송 저장한다. 0 vsftpd 가 알아서 판단한다. v1.1.3 이상에서 trans_chunk_size 옵션이 있다.

trans_chunk_size=0

[root@nsBunny/etc/vsftpd]# service vsftpd start

vsftpd에 대한 vsftpd을 시작 중: [ OK ]

[root@nsBunny/etc/vsftpd]# nmap -sS -O -v xxxxxxxxxx.pe.kr | grep ftp

21/tcp open ftp

ftp 접속시 500 OOPS: cannot ~~이라는 에러가 나오는 경우가 있는데 이건

Selinux라는 보안 장벽이 있기 때문이다. 사용하지 않는다면 상관 없지만

사용중이라면 다음과 같은 방법으로 해결한다.

[root@nsBunny/etc/vsftpd]# setsebool -P ftp_home_dir=1

[root@nsBunny/etc/vsftpd]# ftp ftp.xxxxxxxxxx.pe.kr

Trying 211.238.xxx.xxx...

Connected to ftp.xxxxxxxxxx.pe.kr (211.238.xxx.xxx).

220 (vsFTPd 2.2.2)

Name (ftp.xxxxxxxxxx.pe.kr:root): bunny

331 Please specify the password.

Password: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

230 Login successful.

Remote system type is UNIX.

ftp> ls –al è 이런식으로 사용하면 된다.

+ Recent posts