logo

English

이곳의 프로그래밍관련 정보와 소스는 마음대로 활용하셔도 좋습니다. 다만 쓰시기 전에 통보 정도는 해주시는 것이 예의 일것 같습니다. 질문이나 오류 수정은 siseong@gmail.com 으로 주세요. 감사합니다.

Ubuntu 18.04 에서 vsftpd 설치하기

by lizard2019 posted Mar 02, 2021
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

먼저 Ubuntu 버전부터 확인하겠습니다. $ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.1 LTS
Release: 18.04
Codename: bionic

그다음 package를 업데이트하고 vsftpd 데몬을 설치 합니다. $ sudo apt-get update $ sudo apt-get install vsftpd

vsftpd를 다시 시작해 줍니다. 그리고 ubuntu가 재시작 될때 같이 실행되도록 해줍니다.$ sudo systemctl stop vsftpd.service
$ sudo systemctl start vsftpd.service
$ sudo systemctl enable vsftpd.service

ftp에 사용할 계정을 만들어 줍니다. 저는 simon이라고 계정을 추가했습니다.$ sudo adduser simon

 

 

계정에 대한 home 디렉토리에 ftp폴더를 만들어 주고 권한을 변경합니다.$ sudo mkdir /home/simon/ftp
$ sudo chown nobody:nogroup /home/simon/ftp
$ sudo chmod a-w /home/simon/ftp/

 

ftp폴더 안에 files폴더를 만들고 테스트용 파일을 추가해 봅니다.$ sudo mkdir /home/simon/ftp/files
$ sudo chown tongchun:tongchun /home/simon/ftp/files
$ echo "vsftpd test file" | sudo tee /home/simon/ftp/files/test.txt

 

이제 vsftpd를 설정할 차례입니다.
설정하기 전 설정파일을 백업 카피 합니다.

$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig

 

vsftpd.conf 파일을 열고 설정을 수정합니다.

$ sudo vim /etc/vsftpd.conf

 

default 설정이 있는데 모두 지워줍니다.
vim에서 모든 내용을 지우려면, gg 로 첫번째 줄로 이동합니다. 그리고 dG 로 현재 줄 이하의 내용을 지웁니다.그리고 아래 내용을 작성합니다.

listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
pasv_enable=Yes
pasv_min_port=10000
pasv_max_port=11000
user_sub_token=$USER
local_root=/home/$USER/ftp

userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

 

설정과 같이 userlist를 만들어 줍니다.$ sudo vim /etc/vsftpd.userlist

 

vsftpd.userlist 파일에 앞서 만들었던 tongchun을 추가합니다.simon


vsftpd를 재시작 해줍니다.$ sudo systemctl restart vsftpd
 

 

이번엔 ssl/tls 설정을 하겠습니다.
cert 폴더를 만들고 pem 파일을 만들어 줍니다.
$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/cert/vsftpd.pem -out /etc/cert/vsftpd.pem

 

 

pem 파일을 만들때 Distinguished Name를 작성하라고 합니다. 자신의 정보를 입력하면 됩니다.

이제 ssl/tcl에 대한 설정을 추가해야 합니다.
vsftpd.conf 파일을 열고 아래와 같이 추가합니다.

$ sudo vim /etc/vsftpd.conf

rsa_cert_file=/etc/cert/vsftpd.pem
rsa_private_key_file=/etc/cert/vsftpd.pem
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH


설정을 저장하고 vsftpd를 재시작 해줍니다.$ sudo systemctl restart vsftpd

 

 

이제 설정이 다 완료되었습니다.
서버에 방화벽이 설정되어 있다면 포트 포워딩을 설정해 주어야 합니다.
20,21 번 포트와 10000~11000 번 TCP 포트를 오픈해야 합니다.

이제 FileZilla를 실행시키고 접속해 보겠습니다.
호스트 IP와 추가한 계정/비번 그리포 21 포트로 연결합니다.
연결후 인증서가 보인다면 '이후 세션에서 항상 인증서 신뢰'를 체크해 줍니다.

접속 후 먼저 만들었던 test.txt 파일도 잘 보입니다.

TAG •

List of Articles
No. Subject Author Date Views
104 TCP/IP State Transition - TCP 스택 포팅 시 참조 file digipine 2017.11.02 195236
103 언어 IDE 별로 git ignore 파일을 자동으로 만들어 주는 사이트 엉뚱도마뱀 2018.12.17 122651
102 What is Android Repo? and Manual, Download file digipine 2017.11.02 99671
101 [Linux] ubuntu 16.04에 QT Creator 설치하기 digipine 2017.11.02 24346
100 [Swift, MacOS] 맥 한글 파일명이 윈도우에서 자소 분리되는 현상 해결, NFD, NFC 엉뚱도마뱀 2018.12.11 20080
99 Linux init.d 에서 등록하기. 부팅 시 자동실행 설정 digipine 2017.11.03 12631
98 FFT (Fast Fourier Transform) 고속 푸리에 변환 예제 소스 digipine 2017.10.29 12548
97 Photoshop CC 2018 한글 영문 변환 언어팩, 포토샵 언어변경 file 엉뚱도마뱀 2018.07.04 8531
96 Phabricator 설치 가이드 우분투 16.04 기준 digipine 2017.11.02 6193
95 ATmega8 MCU 간의 TWI 기능을 이용한 I2C 통신 digipine 2017.11.02 5998
94 WinPCap과 Ethereal, Wireshark 을 이용한 스니핑(Sniffing) digipine 2017.10.29 5428
93 공짜 무료 C/C++ 컴파일러들 file digipine 2017.10.28 4378
92 난수발생기 개론 엉뚱도마뱀 2017.11.22 4319
91 비밀번호 해쉬에 Salt(소금) 첨가하기 file 엉뚱도마뱀 2017.11.23 4274
90 [iOS] Bluetooth로 App을 백그라운드 모드로 실행는 방법 lizard2019 2020.02.11 3525
89 OpenAL 사용법 정리 1 digipine 2017.11.01 3398
88 [Linux, OSX] pfctl - Packet FIlter Control 사용법 digipine 2017.11.02 3189
87 Xcode 없이 맥에 '명령어 라인 도구(Command Line Tools)'를 설치하는 방법 엉뚱도마뱀 2018.12.26 2859
86 WIN CE, GPS - NMEA protocol - GPS Virtual Driver digipine 2017.10.28 2830
85 초고속망 통신사 DNS 서버 주소 모음 - DNS 설정 digipine 2017.11.03 2631
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6