安装配置 vsftpd PAM+SSL
Author: Hagen.GoO  转载请注明作者出处
MSN contact: wantm009@hotmail.com
Keyword: vsftpd,PAM,SSL
Quote: 
01 官方下载
    最新 2.0.5 ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.0.5.tar.gz
02 解压 
    # tar -zxvf vsftpd-2.0.5.tar.gz
03 进入 vsftpd-2.0.5 目录 
    # cd vsftpd-2.0.5
04 编辑 builddefs.h (可选)
    把 #undef VSF_BUILD_TCPWRAPPERS 修改成 #define VSF_BUILD_TCPWRAPPERS 
    把 #undef VSF_BUILD_SSL               修改成 #define VSF_BUILD_SSL
05 编译安装
    # make
    # make install
    # cp vsftpd.conf /etc
06 给 vsftpd 添加运行帐号 nobody,也可以使用配置文件中 nopriv_user 项指定其他用户名
    # mkdir /usr/share/empty/
    # useradd -s /sbin/nologin nobody
07 添加处理虚拟用户或匿名用户的系统帐号 ftp 
    # mkdir /var/ftp
    # useradd -d /var/ftp -s /sbin/nologin ftp
    此帐号需匹配配置文件中的 ftp_username(匿名用户) 或 guest_username (虚拟用户)。
08 编辑 PAM 配置文件
    # echo "auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login" >> /etc/pam.d/ftp
    # echo "account required /lib/security/pam_userdb.so db=/etc/vsftpd_login" >> /etc/pam.d/ftp
09 生成 PAM 的用户数据库
    先建立一个文本文件,奇数行为用户名,偶数行为用户密码。可以参看安装目录中 EXAMPLE\VIRTUAL_USERS\logins.txt。
    # db_load -nT -t hash -f vsftpd_login.txt /etc/vsftpd_login.db
10 用 OpenSSL 生成自签名证书。
    # openssl req -x509 -newkey rsa:1024 -keyout /etc/vsftpd.key -out /etc/vsftpd.pem -nodes (注意加上 -nodes 参数。)
11 编辑 vsftpd.conf 文件
    # vi vsftpd.conf
    修改成:
           listen=YES
           anonymous_enable=NO
           local_enable=YES
           guest_enable=YES
           write_enable=YES
           chroot_local_user=YES
           ssl_enable=YES
           rsa_cert_file=/etc/vsftpd.pem
           rsa_private_key_file= /etc/vsftpd.key
           virtual_use_local_privs=YES
        或
           listen=YES
           anonymous_enable=NO
           local_enable=YES
           guest_enable=YES
           write_enable=YES
           chroot_local_user=YES
           ssl_enable=YES
           rsa_cert_file=/etc/vsftpd.pem
           rsa_private_key_file= /etc/vsftpd.key
           anon_mkdir_write_enable=YES
           anon_upload_enable=YES
           anon_other_write_enable=YES
12 自启动 vsftpd 服务
     方法1: 编辑 rc.local 文件
               echo "/usr/local/sbin/vsftpd"  >> /etc/rc.d/rc.local 
     方法2: 使用 xinetd.d ,把安装目录中 xinetd.c/vsftpd 文件复制到系统 xinetd.d 
               cp /xinetd.d/vsftpd /etc/xinetd.d/
               使用此方法,需注解掉 vsftpd.conf 中的 listen=YES 
没有评论:
发表评论