일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- ssh
- appium server
- ftp
- postgres
- mysql
- 실행권한
- centos
- openpyxl
- 28015
- rethinkdb
- Materials
- nmap
- create table
- ubuntu
- GoCD
- kitura
- nGrinder
- PYTHON
- Jupyter
- insert
- STF_PortForwarding
- sshpass
- STF
- nohup
- perfect
- port forwarding
- SWIFT
- postgresql
- appium
- Jupyter Notebook
- Today
- Total
don't stop believing
vsftpd 설치 (on Ubuntu 16.04) 본문
회사에 ftp서버 하나 있으면 유용하겠다 싶어 만들어 봅니다.
우선 Ubuntu는 16.04 버전입니다.
anonymous는 허용하지 않으며, 계정 생성해서 접근하도록 FTP를 만듭니다.
먼저 package를 업데이트하고 vsftpd 데몬을 설치 합니다.
$ sudo apt-get update $ sudo apt-get install vsftpd
설정하기 전 설정파일을 백업 카피 합니다.
$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
ftp에 사용할 계정을 만들어 줍니다. 저는 tongchun이라고 계정을 추가했습니다.
$ sudo adduser tongchun
계정에 대한 home 디렉토리에 ftp폴더를 만들어 주고 권한을 변경합니다.
$ sudo mkdir /home/tongchun/ftp $ sudo chown nobody:nogroup /home/tongchun/ftp $ sudo chmod a-w /home/tongchun/ftp/
ftp폴더 안에 files폴더를 만들고 테스트용 파일을 추가해 봅니다.
$ sudo mkdir/home/tongchun/ftp/files $ sudo chown tongchun:tongchun /home/tongchun/ftp/files $ echo "vsftpd test file" | sudo tee /home/tongchun/ftp/files/test.txt
vsftpd.conf 파일을 열고 설정을 수정합니다.
기본으로 설정해야 할 것은 아래와 같습니다.
listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES write_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES user_sub_token=$USER local_root=/home/$USER/ftp secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=NO pasv_min_port=40000 pasv_max_port=50000
특정 유저만 ftp를 사용하고 싶다면 userlist를 작성해서 관리할 수 있다.
먼저 vsftpd.conf에 아래 설정을 추가한다.
userlist_enable=YES userlist_file=/etc/vsftpd.userlist userlist_deny=NO
설정 저장 후 userlist파일을 만들고 계정을 추가한다.
$ echo "tongchun" | sudo tee -a /etc/vsftpd.userlist $ cat /etc/vsftpd.userlist
vsftpd.conf 설정이 되었다면 vsftpd를 재시작 합니다. 그리고 재대로 시작되었는지 확인해 봅니다.
$ sudo systemctl restart vsftpd $ sudo systemctl status vsftpd
Windows에서 탐색기를 열고 ftp:<서버IP>를 호출하면 계정 로그인 화면이 나타난다.
만약 userlist_enable 설정을 했다면 탐색기에서 접속할때는 ftp://<계정명>@<서버IP> 형식으로 접속해야 한다.
ftp://tongchun@192.168.0.188
정상적으로 로그인이 되었다면 파일을 올리거나 다운받을 수 있습니다.
추가 계정이 필요할 경우 아래 명령들을 순차적으로 하면 됩니다.
<계정명>은 추가하려는 계정입니다.
$ sudo adduser <계정명> $ sudo mkdir /home/<계정명>/ftp $ sudo chown nobody:nogroup /home/<계정명>/ftp $ sudo chmod a-w /home/<계정명>/ftp/ $ sudo mkdir /home/<계정명>/ftp/files $ sudo chown <계정명>:<계정명> /home/<계정명>/ftp/files $ echo "vsftpd test file" | sudo tee /home/<계정명>/ftp/files/text.txt
userlist_enable 설정이 되었다면 아래 명령을 추가한다.
echo "<계정명>" | sudo tee -a /etc/vsftpd.userlist
여기까지 ftp 기본 설치 방법입니다.
vsftpd 옵션에 대한 정보는 아래 rul에서 확인할 수 있습니다.
http://vsftpd.beasts.org/vsftpd_conf.html
탐색기에서 파일명이 한글로된 파일을 업로드 했을때 한글이 깨진다면 locate를 확인해야 한다.
FTP 프로그램은 Filezilla를 추천하며 Filezilla에서 문자 설정도 UTF-8로 설정해 줘야 한다.
Filezilla > 사이트 관리자 > 등록된 사이트 > 문자셋 > UTF-8로 강제 설정
ftp 클라이언트의 character set을 맞춰줘야 한다.
'Tools > VSFTPD' 카테고리의 다른 글
실제 운영되고 있는 ftp 서버의 configuration 정보 (0) | 2018.12.05 |
---|---|
filezilla에서 '서버가 알 수 없는 주소와 수동형 응답을 보냈습니다' (0) | 2018.10.16 |
ftp 계정 추가하기 (0) | 2018.09.11 |
Ubuntu 방화벽 설정 (vsftpd) (0) | 2018.09.11 |
vsftpd 설치 (on Ubuntu 18.04) (1) | 2018.09.11 |