기존의 시스템에서는 ftp가 설치되었었지만 rpm으로 운영되었다.
그리고 직접 설치하지 않아서 설정파일이 어디에 붙어있는지도 헷깔리고 해서 밀어버리고 소스컴파일로 설치하기로 했다.
참고로 rpm 설치된 패키지를 지우려면…
# rpm –e 패키지명
http://proftpd.com 이나 http://proftpd.oops.org 에서 소스를 다운받는다.
압축을 풀고 환경을 컴파일하기전 환경설정을 한다.
# ./configure --prefix=/usr/local/proftpd --enable-autoshadow
/usr/local/proftpd 디렉토리에 설치를 하고 --enable-autoshadow 옵션은 ftp 서버 접근시 shadow 패스워드 인증방식을 지원하기 위한 옵션이다.
만약 이 옵션을 주지않고 컴파일하여 설치를 하면 ftp 접속시 550 에러가 발생할 수 있다.
make, make install 하면 설치가 완료된다.
Proftpd 데몬 실행하는방법
실행하기전에 먼저 먼저 proftpd.conf 파일 편집을 해야한다.
왜냐하면 /usr/local/proftpd/etc/proftpd.conf 파일에서 user, group 항목이 nogroup으로 설정되어있다.
시스템에 nogroup 그룹이 없을 가능성이 거의 99% 이므로 groupadd로 nogroup이라는 그룹을 만들어주거나 아니면 nogroup대신 nobody로 수정한다. 후자의 방법을 추천한다.
# /usr/local/proftpd/sbin/proftpd
이렇게하면 데몬이 실행된다.
데몬을 종료시키는 방법은 /usr/local/proftpd/sbin/ftpshut 바이너리를 실행시키면된다.
본인은 보통 ps로 실행되는 데몬을 찾아서 kill 명령어로 해치워버린다.
proftpd.conf 설정(중요)
ServerName : 접속성공후 ftp 서버에 대한 소개를 나타내는 문자열
ServerType : 운영되는 ftp 서버의 타입을 지정한다.
단독으로 실행하려면 standalone으로 지정하고 xinetd 슈퍼데몬으로 통제를 받을려면 inetd으로 지정한다.
DefaultServer : 가상서버를 운영할경우 기본이 되는 서버를 설정함
Port : 포트지정(Standalone 에서만 적용됨)
Umask : 파일 퍼미션 유도
MaxInstance : 접속요청이 들어오면 데몬이 자식프로세스를 생성해서 하나의 세션을 형성하게 되는데 이것의 개수를 조절한다. Standalone에서만 적용된다.
Dos 공격의 예방을 위해서도 적절히 조절해 주어야한다.
User, Group : 데몬을 실행하는 주체가되는 사용자, 그룹 id
모든 데몬프로그램이 그렇지만 id는 낮은 권한을 가진 사용자(그룹)이어야 보안상 안전하다.
종종, ftp 클라이언트로 접속이 안된다는 글이 올라오는데 십중팔구 “그룹” 관련된 내용이다.
/etc/group 파일을 확인해서 어떤 사용자가 어떤 그룹에 속해있고 과연 ftp에 접근할수 있는 권한이 있는지를 살핀다.
참고로 wheel(10) 그룹은 ftp관련에서 root 권한그룹이다.
익명계정으로 ftp 접속하기
RequireValidShell off
위 항목이 반드시 있어야 한다.

댓글을 달아 주세요