Ubuntu 22.04에 ftp 서버 설치하기( vsftpd 사용 )
Ubuntu 22.04에 ftp 서버를 설치하는 과정을 다룹니다. vsftpd를 사용했습니다.
2022. 5. 3. 최초작성
2024. 1. 7 Ubuntu 22.04에서 진행, 아이폰 앱에서 테스트 추가
1. vsftpd 패키지를 설치합니다.
$ sudo apt-get install vsftpd |
2. vsftpd.conf 파일을 열어서
$ sudo nano /etc/vsftpd.conf |
다음 내용으로 대체합니다. local_root가 ftp에서 데이터를 저장할 경로입니다.
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
local_root=/opt/ftp/files
write_enable=YES
local_umask=022
dirmessage_enable=YES
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
Ctrl + O를 누른 후 엔터를 눌러 저장하고 Ctrl + X를 눌러 nano에서 빠져나옵니다.
3. 설정 적용을 위해 vsftpd를 재시작합니다.
$ sudo systemctl restart vsftpd |
4. ftp를 위한 사용자를 추가합니다. 다음처럼 암호를 2번 입력해주어야합니다.
$ 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 /opt/ftp sudo chown nobody:nogroup /opt/ftp sudo chmod a-w /opt/ftp |
해당 디렉토리가 다음처럼 보여야 합니다.
$ ls -la /opt/ftp
webnautes@webnautes-laptop:~$ ls -la /opt/ftp
합계 8
dr-xr-xr-x 2 nobody nogroup 4096 1월 7 21:08 .
drwxr-xr-x 4 root root 4096 1월 7 21:08 ..
7. 실제로 파일이 업로드될 디렉토리를 생성합니다.
sudo mkdir /opt/ftp/files sudo chown ftpuser:ftpuser /opt/ftp/files |
해당 디렉토리가 다음처럼 보여야 합니다.
$ ls -la /opt/ftp
webnautes@webnautes-laptop:~$ ls -la /opt/ftp
합계 12
dr-xr-xr-x 3 nobody nogroup 4096 1월 7 21:10 .
drwxr-xr-x 4 root root 4096 1월 7 21:08 ..
drwxr-xr-x 2 ftpuser ftpuser 4096 1월 7 21:10 files
8. test.txt 파일을 추가해봅니다.
$ echo "vsftpd test file" | sudo tee /opt/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 /opt/ftp/files/
test.txt
9. 이제 다른 pc나 모바일에서 접속 및 파일 업로드를 해보세요.
주의할점은 앞에서 생성한 계정정보를 입력해줘야 FTP 접속이 가능합니다.
아이폰에서 FTPManager 앱을 사용해서 동작 테스트를 했습니다.
오른쪽위에 보이는 +를 선택합니다.
FTP를 선택합니다.
터미널에서 ifconfig 명령으로 확인한 PC의 IP를 호스트 이름/IP 항목에 적어주고 포트는 21로 합니다. 사용자 이름에 ftpuser를 입력하고 비밀번호를 앞에서 정한 것으로 입력하고 오른쪽위에 보이는 저장을 클릭합니다.
연결 항목에 있는 새로 추가된 IP를 선택합니다.
PC에서 추가했던 test.txt 파일이 보입니다.
아래쪽에 보이는 +를 클릭하고 새 빈파일을 선택합니다. 파일 이름에 add를 입력하고 생성을 클릭하면 add.txt 파일이 생성됩니다.
우분투 터미널에서 확인해보면 add.txt 파일이 업로드 되어있는 것을 볼 수 있습니다.
webnautes@webnautes-laptop:~$ ls /opt/ftp/files/
add.txt test.txt
참고
https://gaemi606.tistory.com/entry/Ubuntu2004-LTS-vsftpd-%EC%84%A4%EC%B9%98
https://shaeod.tistory.com/936