Since 1982
vsftpd 설치기 본문
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
오라클에서 제공하는 리눅스를 깔고, ftp서비스를 실행할려고 하니까
vsftpd가 없다..
그래서 얼른 설치방법을 찾았는데
첫번째는 압축파일을 받아서 설치하는 것이다.
이것으로 쉽게 끝이날줄 알았는데 별 이상한 문제에 부닥치게 되었다.
[root@localhost]# tar xfz vsftpd-2.0.5.tar.gz
[root@localhost]# cd vsftpd-2.0.5
[root@localhost]# make
gcc -c main.c -O2 -Wall -W -Wshadow -idirafter dummyinc
make: gcc: Command not found
make: *** [main.o] Error 127
==> gcc컴파일러가 없는것으로 파악됨, gcc 컴파일러를 설치하려고 했는데
인터넷을 뒤져보니, gcc는 설치가 어려우니 리눅스를 재설치하라는
말들이 많았다.
아마 여기서 make 명령어가 되는 경우는 이어서 make install
명령어를 실행하면 vsftpd를 사용하는데 문제가 없을 것이다.
하지만 에러가 나므로,
[root@localhost]# yum install vsftpd
==> yum도 뭐라뭐라 하면서 에러메세지만 나온다.
이것저것 만사가 다 귀찮아 진다.
결국 rpm으로 설치를 하기로 결정
[root@localhost]# wget http://pkg.tini4u.net/ftp/vsftpd/i386/vsftpd-2.0.1-5.EL4.5_kor.i386.rpm
==> rpm 다운
[root@localhost]# rpm -Uvh vsftpd*.rpm
error: Failed dependencies:
libcrypto.so.4 is needed by vsftpd-2.0.1-5.EL4.5_kor.i386
libssl.so.4 is needed by vsftpd-2.0.1-5.EL4.5_kor.i386
==> 의존성 문제 발생, 구글과 네이버를 뒤져보니 openssl 문제로 생각됨
[root@localhost]# rpm -qa |grep openssl
openssl-0.9.8b-10.el5
==> openssl은 설치가 되어있다.
의존성문제를 해결하기 위해 두가지 방법을 찾게 되었다.
1. 심볼릭 링크 시도
[root@localhost]# cd /lib
[root@localhost]# ln -sf libcrypto.so.0.9.8b libcrypto.so.4
[root@localhost]# ln -sf libssl.so.0.9.8b libssl.so.4
[root@localhost]# rpm -Uvh vsftpd*.rpm
error: Failed dependencies:
libcrypto.so.4 is needed by vsftpd-2.0.1-5.EL4.5_kor.i386
libssl.so.4 is needed by vsftpd-2.0.1-5.EL4.5_kor.i386
==> 그래도 여전히 의존성문제 발생
2. mdk-crypto-1-0.i386.rpm와 mdk-libs-1-0.i386.rpm 를 설치한면 된다는 것.
==> 하지만 이방법은 시도해보지 않았다.
==> 다른버전 다운
다운은 둘째 치고 위에서 삽질을 했다는 것을 발견-_-;;;;
[root@localhost]# rpm -Uvh vsftpd*.rpm => 업데이트 명령어다.
==> 왜 설치도 안된 vsftpd를 업데이트 하고 있는지.......(개삽질이군)
[root@localhost]# rpm -ivh vsftpd*.rpm
==> U를 i로 살짝 바꾸어주고 엔터한방 치니까 설치 완료되네
U는 업데이트 옵션, i는 인스톨 옵션
[root@localhost]# rpm -qa | grep vsftpd
vsftpd-2.0.5-10.el5_kor
==> 설치가 되었다.
==> vsftpd 시작, 종료 명령
[root@localhost]# /etc/rc.d/init.d/vsftpd start ->시작
[root@localhost]# /etc/rc.d/init.d/vsftpd restart ->재시작
[root@localhost]# /etc/rc.d/init.d/vsftpd stop ->종료
[root@localhost]# /etc/rc.d/init.d/vsftpd start ->ftp서버 시작
[root@localhost]# /etc/rc.d/init.d/xinetd restart -> 슈퍼데몬 재시작
==> vsftpd 를 시작하고 슈퍼데몬을 재시작후 클라이언트에서 접속해보면 된다.
==> 알ftp실행후 접속해보니, 접속 성공이다.
오늘 하루종일 vsftpd설정때문에 삽질했는데.
결국 해냈다. 내가 자랑스럽다.
옵션설정
↓↓↓↓↓↓↓↓↓↓↓
옵션 설정 => 사용환경에 맞게 수정해주면 된다.
/etc/vsftpd/vsftpd.conf 환경설정파일 수정
[root@localhost]# vi /etc/vsftpd/vsftpd.conf
# anonymous 사용자의 접속 허용 여부
anonymous_enable=NO
# 로컬 계정 사용자의 접속 허용여부
local_enable=NO
# write 명령어 허용 여부
write_enable=YES
# 아스키모드로 설정할려면
ascii_download_enable=YES
ascii_upload_enable=YES
# 홈 디렉토리 상위로 이동금지
# 설정 후 /etc/vsftpd.chroot_list 파일이 없다는 오류가 발생하게 되면, 해당파일을 자동생성해줌
chroot_list_enable=YES
chroot_local_user=YES
# 숨김파일을 보이게하기
force_dot_files=YES
# FTP 접속시 소유권숨기기
hide_ids=YES
# ls-R 명령어 허용하기
ls_recurse_enable=YES
# openssh 에 chroot 패치된것을 같이 사용하기
passwd_chroot_enable=YES
# 시간이 잘못 표현될 때
use_localtime=YES
# 전송속도를 제한할 때 (숫자의 단위는 Bytes/Sec)
local_max_rate=300000
# 동시 접속자수 제한 (숫자만큼 제한)
max_clients=10
# IP당 접속자수 제한 (수자만큼 제한)
max_per_ip=2
# PASSIVE모드 사용시 포트 범위 제한
# PASSIVE모드는 일반 20번 포트를 방화벽때문에 사용하지 못할때 사용하는 모드(40000 ~ 50000 으로 PASSIVE포트 제한)
pasv_min_port=40000
pasv_max_port=50000
# 확장자의 업로드 금지
deny_file={*.확장자,*.확장자}
# 특정파일 숨기기
hide_file={*.확장자,.hide,hide*.h?}