저는 라즈베리파이 Documentation에 있는 자료를 참고하여 구축했기 때문에 PURE-FTPD를 기반으로 설명해드리겠습니다.
https://www.raspberrypi.org/documentation/remote-access/ftp.md
PURE_FTPD 설치
다음 문장을 터미널에 입력해 apt-get을 설치합니다.
sudo apt-get install pure-ftpd
기본 설정
기본적으로 리눅스에서 ftp를 위한 그룹을 만들고 ftp에서 사용할 유저를 추가해주어야합니다.
groupadd ftpgroup
useradd ftpuser -g ftpgroup -s /sbin/nologin -d /dev/null
groupadd [groupname]
[groupname]라는 사용자 그룹을 추가하는 리눅스 명령어입니다.
useradd [username]
[username]라는 사용자를 추가하는 리눅스 명령어입니다.
-g [groupname] [groupname]그룹에 유저를 추가합니다.
-s [authorization] [authorization]권한을 유저에게 부여합니다.
/sbin/nologin
쉘 권한이 없어서 SSH접속을 하지 못하도록 하는 명령
-d [home_directory] [home_directory]위치에 사용자 계정의 홈 디렉토리를 생성합니다.
/dev/null
홈디렉토리를 생성하지 않습니다.
FTP 홈 디렉토리, 가상유저와 유저 그룹
FTP용 디렉토리를 추가합니다.
sudo mkdir /home/pi/FTP
ftpuser에게 FTP용 디렉토리 접근 권한을 부여합니다.
sudo chown -R ftpuser:ftpgroup /home/pi/FTP
ftp에 upload라는 가상 유저를 만들어 ftpgroup에 있는 ftpuser를 매핑합니다.
pure-pw useradd 명령이 실행되고 나면 곧바로 password를 입력할 수 있게됩니다.
sudo pure-pw useradd upload -u ftpuser -g ftpgroup -d /home/pi/FTP -m
pure-pw useradd [username]
[username]이라는 ftp 가상 유저를 추가합니다.
-u [system_username]
시스템에 있는 유저이름을 넣어줍니다.(해당 유저의 권한과 같은 설정을 매핑하는데 사용됩니다.)
-g [system_usergroup]
시스템에 있는 유저그룹을 넣어줍니다.(해당 유저의 권한과 같은 설정을 매핑하는데 사용됩니다.)
-d [directory]
해당 유저의 ftp 루트 디렉토리
-m
??? 아시는분 있으면 댓글 좀ㅠㅠ
이제 다음으로는 user database를 생성해줍니다.(신규유저 추가 및 비밀번호 변경등의 행동을 하면 db갱신을 위해 반드시 호출해줘야합니다.)
sudo pure-pw mkdb
이제 생성된 db를 인증을 위해 /etc/pure-ftpd/auth/폴더에 소프트 링크해줍니다.
ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/60puredb
pure-ftpd를 재시작합니다.
sudo service pure-ftpd restart
세팅 끝
https://download.pureftpd.org/pub/pure-ftpd/doc/README.Virtual-Users
다른 명령어는 위의 페이지를 참조해주세요.
'프로그래밍 > 예전글' 카테고리의 다른 글
[라즈베리파이, 리눅스] Apache를 이용한 웹서버 세팅 (0) | 2016.05.30 |
---|---|
리눅스 외장하드 마운트하기 (linux mount 명령어) (0) | 2016.04.26 |
라즈베리파이 고정아이피 설정하기 (debian 리눅스 공통) (1) | 2016.01.31 |
라즈베리파이2 모델B 구매 및 설치 후기 (0) | 2016.01.31 |
cocos2d-x NDK r10c 필드에서 to_string 지원이 안됨(stringstream의 사용) (0) | 2015.06.10 |