CentOS 7 VSFTPD 서버 구축
2014.09.28 16:33
(1) VSFTPD 설치
# yum -y install vsftpd
VSFTPD 데몬을 시작합니다.
# systemctl start vsftpd (데몬 가동)
부팅후 자동 실행 설정 합니다.
# systemctl enable vsftpd
정상 가동 확인
# systemctl status vsftpd
초록색 글짜 acvtive 라고 나오면 정상 가동 되는 상태입니다.
서버 기본 설정은 끝났습니다.
(2) 방화벽 포트 오픈하기
방화벽 포트를 열어야 클라이언트에서 접속이 됩니다.
21 번 포트를 열어 보겠습니다.
열기전에 현재 오픈된 포트를 확인해볼께요.
# iptables -nL
현재는 22, 80 번 포트가 열려 있네요
21번 포트를 오픈하겠습니다.
* 21번 포트 오픈 설정
# firewall-cmd --permanent --zone=public --add-port=21/tcp
또는
# firewall-cmd --permanent --zone=public --add-service=ftp
* 방화벽 설정 적용
# systemctl restart firewalld
또는
# firewall-cmd --reload
포트 열린 상태를 확인해 보겠습니다.
# iptables -nL
포트 21 번이 추가로 열렸네요
이제 외부 클라이언트에서 접속이 가능합니다.
만약 열련 포트를 닫으려면
# firewall-cmd --permanent --zone=public --remove-port=21/tcp
참고로 포트를 오픈하고 닫을때 옵션에서
포트 숫자(--add-port=21/tcp)로 포트를 열었다면 닫을때도 포트숫자로 (--remove-port=21/tcp) 해야 닫어야 하고
포트 이름(--add-service=ftp)으로 해서 포트를 열었다면 닫을때고 포트 이름(--remove-service=ftp)으로 닫어야 됩니다.
만약 포트 숫자(--add-port=21/tcp)로 열고 포트 이름(--remove-service=ftp)으로 닫거나
포트 이름(--add-service=ftp)으로 열고 포트 숫자 (--remove-port=21/tcp)로 닫으면 닫혀지지 않습니다.
vsftpd 설정 파일을 알아보겠습니다.
설정파일은 /etc/vsftpd/vsftpd.conf 입니다.
① 보안을 위해서 익명 접근을 막아야 한다면 anoymous_enable=YES 를 NO로 변경하시면 됩니다.
② 간혹 포트 기본 포트가 아닌 다른 번호(8021)를 사용해야 된다면 listen_port=8021 이렇게 추가하면 됩니다.
③ 사용자 홈 디렉토리 상위 경로로 이동 제한
/etc/vaftpd/vsftp.conf
ⓐ 모든 일반 사용자 상위폴더로 이동 제한 없음
chroot_local_user=NO
ⓑ 모든 일반 사용자 상위 폴더로 이동 제한
chroot_local_user=YES
# allow_writeable_chroot=YES
ⓒ chroot_list 상의 사용자만 상위 폴더로 이동 가능
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
# allow_writeable_chroot=YES
ⓓ chroot_list 상의 사용자만 상위 폴더로 이동 제한됨
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
# allow_writeable_chroot=YES
500 OOPS: vsftpd: refusing to run with writable root inside chroot() 접속 오류시
allow_writeable_chroot=YES 추가
/etc/vaftpd/vsftp.conf 변경시 vsftpd 데몬 재시작
/etc/vsftpd/chroot_list 변경시 바로 적요됨, vsftpd 데몬 재시작 안해도 적용됨
* 기타 옵션 설명
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
댓글 [0]
번호 | 제목 | 글쓴이 | 조회 |
---|---|---|---|
[공지] | 연재 강좌를 진행합니다. | gooddew | - |
105 | CentOS 7| SSH 서버 구축 | gooddew | 1360 |
104 | CentOS 7| telnet 서버 구축 | gooddew | 1039 |
103 | CentOS 7| Let's Encrypt SSL 설치 [1] | gooddew | 1355 |
102 | CentOS 7| SAMBA 서버 구축 및 윈도우 네트워크 설치 [1] | gooddew | 4921 |
101 | CentOS 7| proftpd 서버 구축 | gooddew | 733 |
» | CentOS 7| VSFTPD 서버 구축 | gooddew | 3828 |
99 | CentOS 7| Apache 최신버전 설치하기 | gooddew | 3434 |
98 | CentOS 7| Nginx, MySQL, PHP 웹서버 구축 | gooddew | 5184 |
97 | CentOS 7| DNS 서버 설치 [1] | gooddew | 8172 |
96 | CentOS 7| APM 설치하기 [1] | gooddew | 8473 |
95 | CentOS 7| 리눅스 설치후 초기 설정해야 할 것들 | gooddew | 5697 |
94 | CentOS 7| CentOS 기본 강좌 | gooddew | 7084 |
93 | CentOS 7| CentOS-7.0 Minimal 설치 [2] | gooddew | 5118 |
92 | 네트웍 활용| 케이블 모뎀 설치 | gooddew | 3252 |
91 | 네트웍 활용| Netstat 명령어를 이용한 라우팅 테이블 확인 | gooddew | 4470 |
90 | 네트웍 활용| Tracert 명령어를 이용한 장애확인 | gooddew | 3314 |
89 | 네트웍 활용| Ping 명령어를 이용한 장애확인 | gooddew | 5674 |
88 | 네트웍 활용| Lanbird Router 설정 | gooddew | 1359 |
87 | 네트웍 활용| Teltrend Router 설정 | gooddew | 1204 |
86 | 네트웍 활용| 3COM Router 설정 | gooddew | 2041 |