아미(아름다운미소)

Ubuntu에 vsftpd 설치하기 본문

서버/리눅스

Ubuntu에 vsftpd 설치하기

유키공 2018. 1. 22. 11:00

Ubuntu에 vsftpd 설치하기

- vsftpd 설치
$ sudo apt-get update
$ sudo apt-get install vsftpd

- 설치가 완료후 기본 설정파일을 백업합니다.
$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig

- ufw를 이용한 방화벽을 설정합니다.
$ sudo apt-get install ufw

- ufw를 설치하고, FTP port를 허용합니다.
$ sudo ufw allow 20/tcp
$ sudo ufw allow 21/tcp
$ sudo ufw enable

- 결과를 확인합니다.
$ sudo ufw status verbose

Status: active

To                         Action      From
--                         ------      ----
20/tcp                     ALLOW       Anywhere
21/tcp                     ALLOW       Anywhere
20/tcp (v6)                ALLOW       Anywhere (v6)
21/tcp (v6)                ALLOW       Anywhere (v6)

특정 User의 local shell에서 FTP 사용할 수 있도록 설정하기 특정 사용자가 shell을 통해 FTP connection을 하고 파일들을 읽고 쓰게 할 수 있도록 /etc/vsftpd.conf 파일을 통해서 설정해줍니다.
$ sudo nano /etc/vsftpd.conf

파일을 열어서 아래와 같이 해당하는 부분들의 값들을 설정해 줍니다.저같이 리눅스에 익숙지 않으신 분들은 좀 까다로운 부분인데요.기존 파일은 백업 받으셨을테니 통체로 복사하여 붙여 넣으시면 바로 작동할 겁니다.세부 사항은 필요에 따라 변경 하시면 됩니다.

/etc/vsftpd.conf

local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=600
#nopriv_user=ftpuser
ftpd_banner=Welcome to kostake's FTP service!!!
listen=YES
listen_port=21
#chroot_local_user=YES
pam_service_name=vsftpd
#userlist_enable=YES
tcp_wrappers=YES
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=41000
port_enable=YES
pasv_promiscuous=YES

[세부설정] 
지정된 사용자만 접속할 수 있도록 설정합니다.
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

userlist_deny를 YES로 하면 userlist에 있는 사용자들은 FTP 접근이 불가능 하고, 반대로 NO로 설정하면 userlist에 있는 사용자들만 FTP 접근이 가능합니다. FTP를 허용해줄 사용자를 /etc/vsftpd.userlist 에 추가합니다.

$ echo "user_name" | sudo tee -a /etc/vsftpd.userlist
$ cat /etc/vsftpd.userlist
user_name

설정이 완료됐으면 vsftpd를 재시작 합니다.
$ sudo systemctl restart vsftpd

결과 확인
 
CLI에서 ftp명령으로 서버의 아이피를 입력하고 실행하고 user와 password를 입력합니다.
$ ftp -p 123.123.123.123

Connected to 123.123.123.123.
220 (vsFTPd 3.0.3)
Name (203.0.113.0:default): user_name
331 Please specify the password.
Password: user's_password
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

get, put 으로 원하는 파일을 가져오거나 올릴 수 있습니다.
ftp> cd files
ftp> get test.txt
ftp> put test.txt upload.txt
ftp> bye



'서버 > 리눅스' 카테고리의 다른 글

telnet 없이 포트 오픈 여부 점검하기  (0) 2018.04.13
VI 에디터 명령  (0) 2018.03.03
우분투 하드웨어 정보 보기  (0) 2018.01.19
[우분투] 우분투 버전 확인 하기  (0) 2018.01.18
ssh 자동 로그인  (0) 2018.01.08
Comments