[개발환경] vsftpd 로 FTP 서버 구성 및 vsftpd 환경 설정 방법

0
479

리눅스를 설치 하고 난뒤 파일을 전송 하고 받으려면 FTP 서버를 설치해야 한다.

FTP 서버 중 가장 많이 사용되는 것이 VSFTPD ( Very Secure FTP ) 이다.

설치 방법은 간단하다.

CentOS ( Redhat, Fedora ) : yum install vsftpd

Ubuntu : apt-get install vsftpd


vsftpd 환경 구성은 보통 /etc/vsftpd.conf 에서 한다. 자세한 설정 내용은 다음과 같다.

빨간색은 필수적인 내용이다.

# anonymous 유저 사용 불가

anonymous_enable=NO

# 계정사용자 접속 가능

local_enable=YES 

# 업로드 가능

write_enable=YES

# 디렉토리나 파일 생성시 umask 값

local_umask=022

# 접속시 메세지

ftpd_banner=Welcome to uzuro FTP service.

#chroot 활성화

$ chroot_local_user=YES

$ sudo apt-get install vsftpd

$ sudo vi /etc/vsftpd.conf

위와 같은 설정을 할 경우 사용자들은 자신의 계정에서 상위 디렉토리로 이동할수 없게된다.

# 특정 사용자만을 Jail 설정할 경우

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

chroot_list에 등록되어있는 계정에만 chroot가 적용된다.

# 특정 사용자를 제외한 나머지 사용자만을 Jail 설정할 경우

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

chroot_list에 등록된 계정을 제외한 나머지가 자신의 계정에 chroot가 걸린다.

# 계정마다 동적으로 설정할 경우

chroot_local_user=YES

passwd_chroot_enable=YES

위와 같이 설정을 하게 되면 /etc/passwd 파일을 참고하여 jail 설정을 할 수 있게 된다.

theeye:x:600:100::/home/./theeye:/bin/bash

/etc/passwd 파일을 수정하여 경로에 .을 찍게 되면 그 지점이 chroot지점이 된다.

# 접속시 출력 메세지 설정 ( shell등을 이용해 접속시 )

dirmessage_enable=YES

( 사용자 홈디렉토리 .message 파일에 작성 )


설정 완료 후 데몬을 재시작해줘야지 변경내용이 적용 된다.

$ sudo restart vsftpd


덧붙여서 보안을 위해 아래처럼 조치가능하다.

FTP 디렉토리 변경

vsftpd를 설치하면서 자동으로 ftp 유저가 생성되며 홈디렉토리로 /srv/ftp 로 지정된다.

이것을 변경하자.

$ sudo mkdir /home/ftp

$ sudo usermod -d /home/ftp ftp

$ sudo restart vsftpd

FTP 접속 거부 유저

$ sudo vi /etc/ftpusers

한줄에 한명씩 사용자ID를 등록

$ sudo restart vsftpd

 

LEAVE A REPLY

Please enter your comment!
Please enter your name here