==========================================================================================================

 

저뿐만 아니라 인터넷에는 많은 정보가 공유되어 있습니다.

나 스스로 이해하기에 넘 어려워..(그냥 단순히 순서만 있고 왜 이런것인가에 대해 설명이 없어)

직접 설치하면서 고민하던 것들에 대한 코멘트를 아는한 달면서 정리를 해볼까 합니다.

 

잘못된 부분이 있으면 조언과 지적부탁드립니다.

 

==========================================================================================================

 

참고한 사이트

http://www.pureftpd.org/project/pure-ftpd

http://download.pureftpd.org/pub/pure-ftpd/doc/README.Virtual-Users

 

 

 

 

1. 먼저 ports 서치를 통해서 어디에 있는지 먼저 확인합니다. 

 

root@test:/root# cd /usr/ports 

root@test:/usr/ports
# make search name=pure-ftpd
Port:   pure-ftpd-1.0.35
Path:   /usr/ports/ftp/pure-ftpd
Info:   A small, easy to set up, fast and very secure FTP server
Maint:  garga@FreeBSD.org
B-deps:
R-deps: perl-5.12.4_4
WWW:    http://www.pureftpd.org/

 

 

root@test:/usr/ports#

 

 

2. make WITHOUT_X11=yes install clean으로 설치를 해줍니다.

 

root@test:/usr/ports# cd ftp/pure-ftpd/
root@test:/usr/ports/ftp/pure-ftpd# make WITHOUT_X11=yes install clean

 

 

3. 설치 환경설정파일을 생성하자. 설치를 마치면 샘플파일이 /usr/local/etc 에 있다.

 

root@test:/usr/local/etc/pure-ftpd# cd
root@test:/root# cd /usr/local/etc/
root@test:/usr/local/etc# ll
total 40K
-rw-r--r-- 1 root wheel 11191 Jun  8 12:02 !
drwxr-xr-x 2 root wheel   512 Jun  4 17:28 devd
drwxr-xr-x 2 root wheel   512 Jun  4 17:28 man.d
drwxr-xr-x 2 root wheel   512 Jun  4 17:28 pam.d

-r--r--r-- 1 root wheel 11193 Jun  8 11:53 pure-ftpd.conf.sample
-r--r--r-- 1 root wheel  1799 Jun  8 11:53 pureftpd-ldap.conf.sample
-r--r--r-- 1 root wheel  3463 Jun  8 11:53 pureftpd-mysql.conf.sample
-r--r--r-- 1 root wheel  2907 Jun  8 11:53 pureftpd-pgsql.conf.sample
drwxr-xr-x 2 root wheel   512 Jun 11 11:03 rc.d

root@test:/usr/local/etc# cp pure-ftpd.conf.sample pure-ftpd.conf

-rw-r--r-- 1 root wheel 11191 Jun  8 12:02 !
drwxr-xr-x 2 root wheel   512 Jun  4 17:28 devd
drwxr-xr-x 2 root wheel   512 Jun  4 17:28 man.d
drwxr-xr-x 2 root wheel   512 Jun  4 17:28 pam.d

-r--r--r-- 1 root wheel 11192 Jun  8 12:13 pure-ftpd.conf

-r--r--r-- 1 root wheel 11193 Jun  8 11:53 pure-ftpd.conf.sample
-r--r--r-- 1 root wheel  1799 Jun  8 11:53 pureftpd-ldap.conf.sample
-r--r--r-- 1 root wheel  3463 Jun  8 11:53 pureftpd-mysql.conf.sample
-r--r--r-- 1 root wheel  2907 Jun  8 11:53 pureftpd-pgsql.conf.sample
drwxr-xr-x 2 root wheel   512 Jun 11 11:03 rc.d

root@test:/usr/local/etc# chmod 600 pure-ftpd.conf

 

 

 

4. 사용안하는것들은 모아두자(개인적 성향, 추후, 파일확인에도 도움이 됩니다.)

 

root@test:/usr/local/etc# mkdir pure-ftpd

root@test:/usr/local/etc# mv pure-ftpd.conf.sample pure-ftpd

root@test:/usr/local/etc# mv pureftpd-ldap.conf.sample pure-ftpd

root@test:/usr/local/etc# mv pureftpd-mysql.conf.sample pure-ftpd

root@test:/usr/local/etc# mv pureftpd-pgsql.conf.sample pure-ftpd

 

## pure-ftpd 라는 디렉토리를 만들어 mv(파일이동) 명령어를 사용해서 파일이동을 해줍니다.
 

 

 

5. pure-ftpd를 실행후 접속해보자

 

root@test:/usr/local/etc/rc.d# cd
root@test:/root# cd /usr/local/etc/rc.d
root@test:/usr/local/etc/rc.d# ./pure-ftpd onestart
Starting pureftpd.
Running: /usr/local/sbin/pure-ftpd -g/var/run/pure-ftpd.pid -A -c50 -B -C8 -D -fftp -H -I15 -L10000:8 -m4 -s -U133:022 -u100 -k99 -Z
root@test:/usr/local/etc/rc.d# ftp localhost
Trying 127.0.0.1...
Connected to localhost.
220---------- Welcome to Pure-FTPd [privsep] ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 12:03. Server port: 21.
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Name (localhost:pss): pss
331 User pss OK. Password required
Password:
230 OK. Current restricted directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

 

 

6. pure-ftpd 의 가상유저 사용하기 - (원문)을 따라가셔서 해도 됩니다.

 

root@test:/root# pw groupadd ftpgroup
root@test:/root# pw useradd ftpuser -g ftpgroup -d /dev/null -s /etc

 

 

7. pure-pw 의 가상유저 등록하고 관리할 파일을 만들어줍니다.

 

root@test:/root# cd /usr/local/etc
root@test:/usr/local/etc# ll
total 40K
-rw-r--r-- 1 root wheel 11191 Jun  8 12:02 !
drwxr-xr-x 2 root wheel   512 Jun  4 17:28 devd
drwxr-xr-x 2 root wheel   512 Jun  4 17:28 man.d
drwxr-xr-x 2 root wheel   512 Jun  4 17:28 pam.d
drwxr-xr-x 2 root wheel   512 Jun 11 11:57 pure-ftpd
-rw------- 1 root wheel 11193 Jun 11 11:49 pure-ftpd.conf
-rw------- 1 root wheel   110 Jun  8 16:27 pureftpd.passwd
-rw------- 1 root wheel  2176 Jun  8 17:40 pureftpd.pdb
drwxr-xr-x 2 root wheel   512 Jun 11 11:03 rc.d


 

 

 

8. pure-pw 의 가상유저 등록하고 DB에 등록합니다.

 

root@test:/usr/local/etc# pure-pw useradd test -u ftpuser -d /home/ftpusers/test
Password:
Enter it again:

root@test:/usr/local/etc# pure-pw mkdb pureftpd.pdb -f pureftpd.passwd
root@test:/usr/local/etc#

 

 

9. pure-ftpd를 실행하도록 별도의 쉘스크립트를 만들어줍니다.

 

root@test:/root# cd /usr/local/etc/pure-ftp/

root@test:/usr/local/etc/pure-ftpd# vi pureftpd.sh

 

#!/bin/csh

/usr/local/sbin/pure-ftpd -4 -A -B -c 10 -C 5 -E -f -H -I 5 -j -k 90% -K -l unix -l puredb:/usr/local/etc/pureftpd.pdb -n 100:2000 -O w3c:/var/log/pureftpd.log -R -u 1 -x -y 5:10 &

 

pure-ftpd 는 명령행에서 위와 같이 옵션들로 설정해줄수가 있는데. 매번 이렇게 입력하기 곤란하니

별도로 파일을 만들어서 쉘스크립트를 실행하는 것입니다.!!!

 

 

 

 

10. 부팅시 자동으로 실행될수 있도록 등록하기

 

root@test:/root# cd /usr/local/etc/pure-ftpd/
root@test:/usr/local/etc/pure-ftpd# cp pureftpd.sh ../rc.d/pureftpd.sh

 

/usr/local/etc/rc.d/ 이안에 *.sh 형식으로 스크립트로 작성해서 넣어두면 부팅시 자동으로 실행이 되어집니다.


 

 

 

CHECK!! pure-pw 으로 user를 추가하였거나 삭제를 하였다면 mkdb로 반드시 pdb에 업데이트(수정적용)를 해주시고

pure-ftpd 도 다시 시작해주세요. (ps ax 와 kill을 사용해서 중지하시고 재시작)

Posted by SoulrideR

댓글을 달아 주세요