Knowledge Base/Linux

우분투 pure-ftpd 설치

Woos™ 2009. 11. 19. 13:19

http://www.secret.pe.kr/6256

분투는 콘솔 문자셋이 UTF-8 입니다. 하지만 윈도우는 CP949 (euc-kr) 가 기본이죠.


때문에 IE 등에서 ftp를 바로 보거나 netdrive 등으로 연결해서 사용할때, UTF-8이 지원되지 않는 FTP프로그램 (예: 알FTP) 를 사용할때 한글이 무참히 깨져서 보이게 됩니다.


이를 해결하는 방법을 구글링을 하다가 찾아내 간략하개 요약하여 정리해보았습니다.


VSFTPD 소스를 수정하여 사용하는 방법도 있는데 이는 초보자에겐 매우 복잡한 일입니다.. 하지만 간단히 해결할 수 있는 방법이 있습니다.


RFC2640을 지원하는 Pure-FTPd 를 설치 하면 됩니다.


일단 기존에 사용하던 FTP 프로그램을 삭제합니다. 여기서는 VSFTPD 를 예로 들겠습니다.


sudo apt-get remove vsftpd


다음 Pure-FTPd를 설치합니다.


sudo apt-get install pure-ftpd


다른 FTP Client와는 다르게 Pure-FTPd 데몬 실행 옵션으로 FTP 데몬을 설정할 수 있게 되어 있습니다.


Config 파일을 건들 필요가 없는것이지요


.Ubuntu 에서는 /etc/pure-ftpd/conf 디렉터리에 실행시 적용할 옵션의 이름과 같은 파일을 만들고 그 파일에 해당 옵션에 주어야할 값이나 해당 옵션이 on/ff의 기능을 하는 경우 파일에 yes/no를 적어 주면 데몬 실행 wrapper에서 conf 디렉터리에 있는 파일들을 읽어 옵션을 적용하여 데몬을 실행하게 됩니다.


익명 FTP를 사용하고 싶지 않다면 --noanonymous (-E) 옵션을 사용하면 되는데 /etc/pure-ftpd/conf 디렉터리에 NoAnonymous 파일을 만들고 이 파일에 yes를 적어 주면 실행시에 이 옵션을 적용됩니다. 만드는 파일의 이름은 첫글자는 대문자 다른 글자는 소문자, 여러 단어가 합쳐져 있을 경우는 각단어의 시작을 대문자로, 옵션의 이름이 약어일 경우 모두 대문자로 만들어 주면 됩니다.


앞에서도 설명했지만 파일안의 내용은 옵션이 on/off 기능을 담당하는 경우 yes/no를 옵션이 특정 값을 요구하는 경우는 해당 값을 적어 주면 된다.


다음은 설치시 기본적으로 적용되는 옵션외에 문자셋  변환을 위한 옵션 (FsCharset, ClientCharset), FTP 로깅시 호스트 이름 대신 IP를 로깅하게 하게 하는 옵션 (DontResolve), MS IE 등  일부 FTP Client와 의 호환을 위해 일부 표준을 무시하는옵션(BrokenClientsCompatibility, MS IE로 접속했을때 주소창에 ID@example.com와 같이 ID를 넣지 않고 ftp 서버의 주소만 넣을 경우 익명 FTP 로 접속되는데 익명 FTP로 접속하지 않고 ID/PW를 물어 보는 창을 표시하고 싶을 때 사용.),자신의 홈 디렉토리 (예: /home/username/)만 공개하는 방법 등을 적용하는 예 입니다.


잘 모르시겠으면 그대로 복사해서 붙이세요.


echo "cp949" | sudo tee /etc/pure-ftpd/conf/ClientCharset
echo "yes" | sudo tee /etc/pure-ftpd/conf/BrokenClientsCompatibility
echo "yes" | sudo tee /etc/pure-ftpd/conf/DontResolve
echo "yes" | sudo tee /etc/pure-ftpd/conf/ChrootEveryone


적용후 데몬으로 재시작 하면 해당 옵션이 적용되어 데몬이 시작됩니다.


sudo /etc/init.d/pure-ftpd restart