ProFtp 설치~!(1)

1. ProFTP 소개 및 다운로드
(1). ProFTP 소개
FTP 란 File Transfer Protocol 의 약자로서 파일 전송 규약을 말한다. ProFTP 서버는 예전에 사용하던 Wu_FTP 보다 환경설정파일이 하나로 되어 관리하기가 편해지고 보안 및 버그 또한 패치를 하여 요즘 많이 사용하고 있는 FTP 서버중 하나이다.
(2). ProFTP 다운로드
ProFTP 서버를 구할 수 있는 곳은 ProFTP 웹 사이트(http://www.proftpd.net) 에서 최신 버전의 ProFTP 서버를 다운로드 할 수 있다.

2. ProFTP 설치
(1) 압축된 파일 풀기
먼저 다운로드한 파일을 /usr/local/src 밑으로 복사하기 바란다. 위에서 소개한 ProFTP 웹사이트에서 받았다면 *.tar.gz 형식의 파일일 것이므로 tar를 이용하여 압축을 풀면 된다.

(가) 압축된 파일이 *.tar.gz 또는 *.tar.Z 파일 압축 풀기
# tar -xvzf proftpd-1.2.xxx.tar.gz
(나) 압축을 풀면 proftpd-1.2.xxx 라는 디렉토리가 생성된다. 이 디렉토리를 proftpd 라는 이름으로 바꾸어 준다.
# mv proftpd-1.2.xxx proftpd
압축을 풀었다면 /usr/local/src/proftpd 에 README 와 INSTALL 파일이 존재하므로 참고하기 바란다. README 와 INSTALL을 강조하는 이유는 대부분의 배포되는 설치 파일들은 이 두 개의 파일을 포함하고 있으므로 잘 읽어보고 따라하면 되기 때문이다.

(2) 컴파일 하기 전에 configure 파일 실행하기
압축을 잘 풀었다면 /usr/local/src/proftpd 에 configure 파일이 있을 것이다. 이 파일을 실행하면 Makefile 이 생성된다. configure 실행은 설치할 디렉토리를 지정하도록 다음과 같이 하면 되겠다.
# ./configure --prefix=/usr/local/proftpd
위와 같은 명령을 주면 make install 시에 /usr/local/proftpd 디렉토리에 설치하게 된다.

(3) ProFTP 서버 컴파일
위에서 configure 파일을 실행해서 Makefile을 만들었을 것이다. 그럼 컴파일을 해보자.
# make
(4) ProFTP 서버 설치
위 과정을 에러 없이 마쳤다면 설치과정으로 들어가도록 하겠다. 현재위치(/usr/local/src/proftpd)에서 다음과 같은 명령을 실행하도록 한다.
# make install
이렇게 하면 ProFTP 서버의 설치과정이 끝나게 된다. 여기서 다룬 설치과정은 ProFTP 웹사이트로부터 받은 소스파일을 가지고 수동으로 설치하는 방법을 다루었다. 레드햇 리눅스 6.0 이상의 사용자라면 기본으로 ProFTP 가 설치되었을 것이므로 업그레이드나 수동으로 재설치시에 참고하면 되겠다.

3. proftp 환경 파일 설정 ( proftpd.conf )
/etc/proftpd.conf 설정파일을 알아보자.
ServerName "SAGELINUX FTP SERVER"
- ServerName 은 사용자가 FTP 서버에 접속했을 때 이 FTP 서버의 이름이 무엇인지 출력해준다.
ServerType standalone
# ServerType inetd
- ServerType 은 ProFTP 서버를 실행시키는 방법이다. standalone 은 보통 응용프로그램을 실행하듯이 직접 proftpd 를 실행하는 방법이고, inetd 은 inetd 슈퍼 서버에 의해 실행되는 방법을 말한다.

DefaultServer on
- DefaultServer 는 FTP 서버의 primary IP address 또는 가상 호스트 설정 블록에서 설정된 IP address 가 아닌 IP address 로부터 연결이 있을 때 기본으로 사용되어질 서버 설정을 해준다. 이와 같이 알려지지 않은 연결이 있을 때는 "no server available to service your request" 라는 내용을 보여주며 연결이 끊어지게 될 것이다.
DefaultRoot / 또는 ~/
- DefaultRoot 는 FTP 서버에 일반 계정으로 접속한 사용자에게 최상위 디렉토리를 지정해주는 것이다. DefaultRoot 를 / 로 설정하면 사용자가 FTP 서버에 접속했을 때 / 디렉토리까지 접근 가능하며, ~/ 로 설정하면 일반 계정의 홈디렉토리가 최상위 디렉토리까지 접근 가능하게 될 것이다.
Port 21
- Port 는 ProFTP 서버가 standalone 모드로 동작할 때 사용자가 FTP 와 연결할 통로를 정해주는 것이다. 보통 FTP 서버의 경우는 21 번 Port를 사용한다. 참고로 inetd 모드로 동작을 원하고자 한다면 이 부분을 주석으로 하고 Port 번호를 /etc/services 파일에 설정해 주어야 할 것이다.

Umask 022
- Umask 는 새로 만들어지는 파일과 디렉토리에 적용될 마스크를 지정한다.
MaxInstances 30
- MaxInstances 는 ProFTP 서버가 standalone mode 일 때 최대 접속가능한 사용자 수를 지정한다. ProFTP 서버가 inetd mode 일 경우에는 아무런 효과가 없으므로 주석으로 해주면 될 것이다.

User nobody
Group nobody
- User 와 Group 은 ProFTP 서버 실행시에 생성되는 프로세스의 User 와 Group을 지정해준다. 혹시라도 이 부분이 슈퍼유저로 되어 있다면 매우 위험하므로 User 와 Group을 nobody 로 반듯이 해주기를 권한다. 위와 같이 설정하였다면 서버 설정이 끝나고 proftpd를 실행시킨 후에 ps 명령으로 확인하기 바란다.

...........................

- ..... 는 명시한 디렉토리에 대해 옵션을 정의해 준다. 위의 예는 /(루트) 아래의 모든 디렉토리에 대한 옵션을 정의해 줄 수 있다.

AllowOverwrite on

- AllowOverwrite 는 사용자가 FTP 서버에 접속하여 새로 전송하려고 하는 파일이 기존에 있는 파일이 있을 때 어떻게 할 것인가에 대한 설정이다. AllowOverwrite 가 on 이면 Overwrite를 허락하는 것이고 off 이면 Overwrite를 허락하지 않는 것이다.

.......

...........................

- 위의 설정은 FTP 서버 접속시에 익명의 사용자 anonymous 로 접속하여 이용할 수 있는 디렉토리에 대한 옵션을 설정할 수 있게 한다. 디렉토리명의 표현은 /home/ftp 나 ~ftp 같은 형식으로 하면 된다. 그리고 지금부터 이후에 소개되는 것에 대해서는 ....... 안에 사용되는 설정이다.

User ftp
Group ftp
- .......에서 사용되는 User 와 Group 은 ProFTP 서버에 사용자가 anonymous 로 접속할 때 디렉토리에 대한 User 와 Group을 지정해준다. 이렇게 되면 디렉토리에 대한 실제적인 권한은 ftp user 가 가지게 되는 것이다.

RequireValidShell off
- RequireValidShell 은 /etc/shells 파일에 정의되지 않는 shell을 사용하는 유저에게 FTP 접속을 허락하거나 거절하는 것에 대한 지정이다. 기본적으로 ProFTP 서버에서는 on 상태이므로 /etc/shells 에 user 들이 사용하는 shell 이 없으면 login을 할 수 없게 된다. 그러므로 anonymous user 로 접속을 하고자 한다면 RequireValidShell을 off 로 해주어야 login 할 수 있을 것이다.

UserAlias anonymous ftp
- 사용자가 FTP 서버에 접속할 때 anonymous user 로 접속하면 ftp user 로 접근하게 하는 지정이다. 그러니까 ftp user로 FTP 서버에 접속하여 이용하는 것이 된다.
MaxClients 10 "message"
- MaxClients 는 anonymous user 로 접속할 때 client 들이 최대로 접속할 수 있는 수를 설정한다. 그리고 anonymous user 로 접속할 수 있는 수를 제한하지 않으려면 none 이라는 설정을 해주면 된다. 또한, 최대 이용자수 뒤에 message를 적어주면 접속할 수 있는 수를 넘을 때 user 와 password를 입력한 후 연결이 끊어지게 되는데, 이 때 사용자에게 message를 보여 줄 수 있는 방법이다.

DisplayLogin welcome.msg
- DisplayLogin 는 사용자가 anonymous user 로 접속했을 때 보여줄 메시지가 들어있는 text file을 지정하는 것이다. 파일은 상대 경로나 절대 경로를 지정할 수 있으며, 상대경로로 지정할 경우 user 가 접속했을 때 처음 디렉토리를 기준으로 찾게 된다. 일반 user 의 경우에는 user 의 홈디렉토리가 기준이 되며, user 의 홈디렉토리에 지정한 파일이 있으면 접속시에 메시지가 보일 것이다. 만약, file 이 없다고 하더라도 에러는 발생하지 않는다.
DisplayFirstChdir .message
- DisplayFirstChdir 은 client 사용자가 FTP 서버에 접속하여 chdir(cd) 명령을 이용해 처음으로 다른 디렉토리로 접근할 때 접근한 디렉토리에 .message file 이 있으면 file 의 내용을 보여주게 된다. 이 파일의 내용은 FTP 서버에 접속하여 디렉토리에 처음 접근할 때에만 보여준다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2003/04/30 12:59 2003/04/30 12:59
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/84

Trackback URL : http://tcbs17.cafe24.com/tc/trackback/84

« Previous : 1 : ... 991 : 992 : 993 : 994 : 995 : 996 : 997 : 998 : 999 : ... 1009 : Next »

블로그 이미지

- 홍반장

Archives

Recent Trackbacks

Calendar

«   2024/11   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Statistics Graph

Site Stats

Total hits:
243927
Today:
278
Yesterday:
776