프로그래밍/Raspberry PI

[라즈베리파이] ftp 서버 설정하기

Beginner:) 2022. 12. 4.
320x100

 

1. 먼저 apt 업데이트 & 패키지 업그레이드

sudo apt-get update
sudo apt-get upgrade

 

2. vsftpd 설치

sudo apt-get install vsftpd

3. vsftpd 설정

sudo vim /etc/vsftpd.conf

 

설치시 생성된 파일에 주석으로 간단한 설명들이 적혀있다.

 

나의 경우에는 아래의 옵션을 추가

local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
allow_writeable_chroot
utf8_filesystem=YES
local_root=/my_disk

나는 하드디스크를 ftp로 설정할 것이기 때문에 local_root를 /my_disk로 설정하였고 자동마운트 시켜놨다. 

2022.11.30 - [프로그래밍/Raspberry PI] - [라즈베리파이] 외장 하드디스크 마운트하기

 

[라즈베리파이] 외장 하드디스크 마운트하기

1. 외장 하드디스크검색 sudo blkid 나의 경우 /dev/sda1에 잡혀있고 포맷형식은 ext4이다. sda1이란 디스크 이름으로 나와 다를 수 있다. 각자의 디스크 이름을 기억해둔다. 리눅스계열의 경우 ext4로 포

park-duck.tistory.com

 

더 많은 옵션은 아래의 링크에 있다.

http://vsftpd.beasts.org/vsftpd_conf.html

나의 경우 포트포워딩에서 포트를 다르게 쓰기 때문에 포트번호를 그대로 두지만,

21번 포트는 피하는 것이 좋다.

(이외에 22번 등 잘 알려진 포트들은 쭝국에서 접근을 시도하기 때문에 가급적 피하자)

 

 

chroot_list_file을 따로 생성해주자 

sudo vim /etc/vsftpd.chroot_list

파일편집기를 열어 계정이름을 적는다.

 

4. 시작

서비스 재시작&자동시작 등록

sudo systemctl restart vsftpd
sudo systemctl enable vsftpd

 

이후 서비스상태를 확인한다.

sudo systemctl status vsftpd

 

프로세스도 확인해보고 ... 

ps -ef | grep ftp

 

포트도 확인해본다.

포트번호로 확인하고 싶으면 netstat -tnlp를 사용

netstat -tlp

 

home디렉토리 설정

https://xenostudy.tistory.com/479

 

 

filezila로 연결한 모습이다.

local_root가 /my_disk이기 때문에 /my_disk가 먼저 열린다.


그리고 guest 유저를 하나 추가했다. 

2022.12.04 - [프로그래밍/Raspberry PI] - [라즈베리파이] 유저 추가하기

 

[라즈베리파이] 유저 추가하기

게스트용 ftp 접속을 위한 유저를 추가하려 한다. sudo 권한은 추가하지 않을 거지만 방법은 일단 추가한다. [유저 추가] sudo adduser -m guest1 -m 옵션은 guest1의 홈 디렉터리를 만든다. ftp root를 /my_disk

park-duck.tistory.com

 

추가한 유저로 로그인 해보면 chroot_local_user 옵션으로 인해 상위디렉토리로 접근이 불가능하다.

document를 읽어보면 홈디렉토리라 되어있는데 local_root 옵션으로 인해 홈디렉토리가 local_root이 되는 것 같다.

반응형

댓글