▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣
ftp는 좀 까다롭다. VMware NAT 방식이 아닌 브리지 방식을 이용해서 하는 방법이 있다.
대체로 집집마다 공유기를 사용하는 경우가 많기 때문에 공유기에서 직접 받아서 포워딩시키는 방법을
사용하는 경우가 많다. 몰론 이렇게 한다고 하지만 이 방식도 설정하기가 쉽지가 않다.
이 브리지 접속 방식의 장점은 패시브 모드를 사용하지 않고 직접 접속해서 사용하기 때문에 편하다는 것이다.
▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣▣
[root@ns♥BunnyCom♥~]# rpm -qa | grep vsftp
[root@ns♥BunnyCom♥~]# yum install vsftp
[root@ns♥BunnyCom♥~]# vi /etc/vsftpd/vsftpd.conf
### anonymous_enable=YES (default = YES). anonymous 사용자의 접속 허용 여부
anonymous_enable=YES
### 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=^^ Mnetwork.co.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
# 패시브 형태
## [NO : 사용하지 않음] [YES : 사용]
pasv_enable=YES
pasv_promiscuous=YES
### 가상 포트 번호 지정
pasv_min_port=40001
pasv_max_port=40002
##### ========= 가상유저 ==========
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@ns♥BunnyCom♥~]# service vsftpd restart
[root@ns♥BunnyCom♥~]# nmap -sS -O -v 192.168.40.4 | grep ftp
21/tcp   open  ftp     vsftpd 2.0.5
ftp.xxxxxxxxxx.xx.kr   A       192.168.40.4
[root@ns♥BunnyCom♥~]# setsebool -P ftp_home_dir=1
[root@ns♥BunnyCom♥~]# ftp 192.168.40.4
KERBEROS_V4 rejected as an authentication type
Name (192.168.40.4:root): bunny
331 Please specify the password.
Password: xxxxxxxxxxxxxxxxxxx
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files. => 접속확인
ftp> ls -al
227 Entering Passive Mode (192,168,40,4,156,65)
150 Here comes the directory listing.
-rwx------    1 500      500          5670 Feb 25 06:23 IPTables_powerSecurity_script.sh
-rw-r--r--    1 500      500           843 Feb 26 02:01 sulinux-download-sct.sh
226 Directory send OK.
ftp> quit  => 종료명령이다.
이런식으로 설정하고 테스트 까지 완료하면 모든 구축은 끝난다.

 

 

+ Recent posts