반응형

Ubuntu 20.04에 ftp 서버를 설치하는 과정을 다룹니다. vsftpd를 사용했습니다. 



1. vsftpd 패키지를 설치합니다. 

 

$ sudo apt-get install vsftpd



2. vsftpd.conf 파일을 열어서 

 

$ sudo nano /etc/vsftpd.conf



다음 내용을 대체합니다. 

 

listen=NO

listen_ipv6=YES

anonymous_enable=NO

local_enable=YES

chroot_local_user=YES

allow_writeable_chroot=YES

local_root=/data/ftp/files

write_enable=YES

local_umask=022

dirmessage_enable=YES

userlist_enable=YES

userlist_file=/etc/vsftpd.userlist

userlist_deny=NO



3. 설정 적용을 위해 vsftpd를 재시작합니다. 

 

$ sudo systemctl restart vsftpd




4. ftp를 위한 사용자를 추가합니다. 암호만 입력해주면 됩니다. 

 

$ sudo adduser ftpuser



webnautes@webnautes-laptop:~$ sudo adduser ftpuser

'ftpuser' 사용자를 추가 중...

새 그룹 'ftpuser' (1001) 추가 ...

새 사용자 'ftpuser' (1001) 을(를) 그룹 'ftpuser' (으)로 추가 ...

'/home/ftpuser' 홈 디렉터리를 생성하는 중...

'/etc/skel'에서 파일들을 복사하는 중...

새  암호: 

새  암호 재입력: 

passwd: 암호를 성공적으로 업데이트했습니다

ftpuser의 사용자의 정보를 바꿉니다

새로운 값을 넣거나, 기본값을 원하시면 엔터를 치세요

이름 []: 

방 번호 []: 

직장 전화번호 []: 

집 전화번호 []: 

기타 []: 

정보가 올바릅니까? [Y/n] y




5. 설정파일에 사용자 이름을 추가해야 합니다. 

 

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



webnautes@webnautes-laptop:~$ echo "ftpuser" | sudo tee -a /etc/vsftpd.userlist

ftpuser

webnautes@webnautes-laptop:~$ cat /etc/vsftpd.userlist 

ftpuser




6. ftp에서 업로드한 파일을 저장시 사용할 경로를 생성합니다.

추가 하드디스크를 마운트한 경로를 사용하려고 홈디렉토리가 아닌 다른 디렉토리로 사용하도록 했습니다. 



sudo mkdir -p /data/ftp

sudo chown nobody:nogroup /data/ftp

sudo chmod a-w /data/ftp

 

퍼미션이 다음처럼 보여야 합니다. 

 

$ sudo ls -la /data/ftp

 

webnautes@webnautes-laptop:~$ sudo ls -la /data/ftp

합계 8

dr-xr-xr-x 2 nobody nogroup 4096  5월  3 07:37 .

drwxr-xr-x 3 root   root    4096  5월  3 07:37 ..




7. 파일 업로드를 위한 디렉토리를 생성합니다. 

 

sudo mkdir /data/ftp/files

sudo chown ftpuser:ftpuser /data/ftp/files

 

퍼미션이 다음처럼 보여야 합니다. 

 

$ sudo ls -la /data/ftp

 

webnautes@webnautes-laptop:~$ sudo ls -la /data/ftp

합계 12

dr-xr-xr-x 3 nobody  nogroup 4096  5월  3 07:39 .

drwxr-xr-x 3 root    root    4096  5월  3 07:37 ..

drwxr-xr-x 2 ftpuser ftpuser 4096  5월  3 07:39 files




8. test.txt 파일을 추가해봅니다. 

 

$ echo "vsftpd test file" | sudo tee /data/ftp/files/test.txt



webnautes@webnautes-laptop:~$ echo "vsftpd test file" | sudo tee /data/ftp/files/test.txt

vsftpd test file

webnautes@webnautes-laptop:~$ ls /data/ftp/files/

test.txt



9. 이제 다른 pc나 모바일에서 접속 및 파일 업로드를 해보세요. 

주의할점은 앞에서 생성한 계정정보를 입력해줘야 FTP 접속이 가능합니다. 





참고

 

https://www.digitalocean.com/community/tutorials/how-to-set-up-vsftpd-for-a-user-s-directory-on-ubuntu-20-04

 

https://gaemi606.tistory.com/entry/Ubuntu2004-LTS-vsftpd-%EC%84%A4%EC%B9%98

 

https://shaeod.tistory.com/936

 

반응형

해보고 확인한 것을 문서화하여 기록합니다.


공부한 내용을 공유하는 공간입니다.
부족함이 있지만 도움이 되었으면 합니다.
잘못된 부분이나 개선점을 알려주시면 감사하겠습니다.



포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
문제가 생기면 포스트와 바뀐 환경이 있나 먼저 확인해보세요.

질문을 남겨주면 가능한 빨리 답변드립니다.


제가 쓴 책도 한번 검토해보세요 ^^

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기

댓글을 달아 주세요

">