Unix/Solaris10

vsftpd 패키지로 설치

ForceCore 2008. 10. 26. 21:29
드디어 패키지 버전이 출시되었다 +_+
컴파일을 넘겨도 된다.
하지만 이제 디렉토리같은게 좀 바뀌어서 무엇을 어디에 두어야 할지 잘 모르겠군 아직.

/usr/local/sbin/vsftpd
이게 서버파일.
/usr/local/doc/vsftpd
에 들어가면 여러가지 설명이 들어있다.

vsftpd.conf가... /usr/local/doc/vsftpd/vsftpd.conf가 가장 기본 설정이다.
/usr/local/doc/vsftpd/EXAMPLE/INTERNET_SITE_NOINETD/vsftpd.conf 등 샘플도 많이 있다.
딱히 마음에 드는 것은 없지만.

/etc/vsftpd.conf 를 어쨌거나 만든다.
필자가 좋아하는 설정은 이렇다.
# stand alone mode
listen=YES

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022

dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log

ftpd_banner=Welcome to the FTP service.

# chroot users except...
chroot_list_enable=YES
chroot_local_user=YES
chroot_list_file=/etc/vsftpd.chroot_list

# don't allow root to login.
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list

로컬 사용자 로그인 가능.
vsftpd.chroot_list 에 적히면 chroot가 안 되는 예외 유저.
vsftpd.user_list 에 적히면 로그인이 안 되는 사용자. (root같은 녀석을 등록하자.)
익명 ftp 불허.

이제 데몬화를 해야 하는데...
init.d 스크립트도 어디서 긁어와야 하겠다.
아니. 귀찮다.
그냥 하던대로, listen=YES를 풀고 TCP_WRAPPER로 돌리자... 라고 생각했으나 안 된다.
패키지버전엔 tcp_wrappers 서포트가 없다.

http://www.novell.com/coolsolutions/feature/14689.html

간단하게 가자.
#!/bin/sh
case "$1" in
start)
    echo "Starting vsftpd ..."
    /usr/local/sbin/vsftpd &
    ;;
stop)
    echo "Stopping vsftpd ..."
    pkill vsftpd
    ;;
*)
    echo "Usage: 'basename $0' {start|stop}" >&2
    exit 64
    ;;
esac
exit 0
간단한 내용. 위 링크에서, 미묘하게 수정되었다 -_-;; killall -> pkill. vsftpd path가 틀린것도 수정.