zoukankan      html  css  js  c++  java
  • centos 6.5 vsftpd 虚拟用户配置

    一:基本知识
    1:虚拟用户:与系统无关联,不能登入系统,只能访问FTP服务器
    2:vsftp的服务进程是vsftpd
    3:vsftpd的配置文件是/etc/vsftpd/vsftpd.conf .
    4:vsftpd的用户文件是/etc/vsftpd/ftpusers
    5:vsftpd的用户文件是/etc/vsftpd/user_list
    6:推荐使用虚拟用户登入vs-FTP服务器

    二:安装

    1.检查是否安装过vsftpd

    rpm -qa vsftpd

    安装:

    (1)  yum -y install vsftpd lftp

    (2) 关闭iptables 和  selinux

    /etc/init.d/iptables stop

    临时关闭selinux

    setenforce 0

    永久性的关闭selinux

    vim /etc/selinux/config

    修改为  ————》SELINUX=disabled

    (3) 创建虚拟用户文本文件,添加用户及密码

    cd  /etc/vsftpd

    touch vuser.txt

    备注:奇数行是用户名,偶数行是密码。例如:

    alix

    123456

    (4) 生成虚拟数据库文件(需使用到db_load)

    yum -y install db4-utils db4-devel db4-4.3

    db-load  -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db

    (5) 配置PAM文件,用来验证客户端

    vim /etc/pam.d/vsftpd

    auth  required  pam_userdb.so  db=/etc/vsftpd/vuser

    account  required  pam_userdb.so  db=/etc/vsftpd/vuser

    (6)修改虚拟数据库文件的权限

    chmod    700  /etc/vsftpd/vuser.db

    (7) 增加一个系统用户vuser,用于匿名用户的映射。

    mkdir /data

    useradd -d /data vuser

    chown vuser.vuser /data

    usermod -s /sbin/nologin  vuser

    (8) 修改主配置文件vsftpd.conf,添加:

    guest_enable=YES                ##激活虚拟用户

    guest_uaername=vuser    ##把虚拟用户绑定为系统账户vuser

    pam_service_name=vuser  ##使用pam认证

    (9) 添加虚拟用户的配置文件

    vim /etc/vsftpd/vsftpd.conf

    添加:user_config_dir=/etc/vsftpd/vsftpd_user_conf

    (10) 创建vsftpd_user_conf目录

    mkdir /etc/vsftpd/vsftpd_user_conf

    (11) 设置虚拟用户配置文件,与虚拟用户名相同

    touch   /etc/vsftpd/vsftpd_user_conf/testuser

    (12) 编辑虚拟用户配置文件

    vim   /etc/vsftpd/vsftpd_user_conf/testuser

    anon_world_readable_only=NO               ###浏览FTP目录和下载  

    anon_upload_enable=YES                      ###允许上传  

    anon_mkdir_write_enable=YES                ###建立和删除目录  

    anon_other_write_enable=YES                ####改名和删除文件

    local_root=/ftpdir/                                 #### 指定虚拟用户在系统用户下面的路径,限制虚拟用户的家目录,虚拟用户登录后的主目录。  

    备注:一定要检查后面是否有空格。

    (13)启动

    /etc/init.d/vsftpd restart

    三。添加新的虚拟用户

    添加虚拟用户

    vim /etc/vsftpd/vuser.txt

    web2

    123456

    生成库文件

    db-load  -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db

    编辑虚拟用户的配置文件

    touch   /etc/vsftpd/vsftpd_user_conf/web2

    vim /etc/vsftpd/vsftpd_user_conf/web2

    anon_world_readable_only=NO               ###浏览FTP目录和下载  

    anon_upload_enable=YES                      ###允许上传  

    anon_mkdir_write_enable=YES                ###建立和删除目录  

    anon_other_write_enable=YES                ####改名和删除文件

    local_root=/ftpdir/                                 #### 指定虚拟用户在系统用户下面的路径,限制虚拟用户的家目录,虚拟用户登录后的主目录。  

    创建用户家目录

    mkdir  /ftpdir/web2

    修改权限

    chown -R vuser.vuser  /ftpdir/web2

    加载vsftpd

    /etc/init.d/vsftpd reload

     本地连接:

    ftp

    (需要把vsftpd.conf 里的ssl关了)

    lftp

    (在 /etc/lftp.cong里添加   set ssl:verify-certificate no)

    四、配置ssl
    1、安装包
    apt-get -y install openssl
     
    2、创建一个证书(时间365天)并填写相关一些信息
    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -out /etc/ssl/certs/vsftpd.pem -keyout /etc/ssl/certs/vsftpd.pem
    Generating a 2048 bit RSA private key
    ..........+++
    .............+++
    writing new private key to '/etc/ssl/certs/vsftpd.pem'
    -----
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Country Name (2 letter code) [AU]:CN
    State or Province Name (full name) [Some-State]:shanghai
    Locality Name (eg, city) []:shanghai
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:aaa
    Organizational Unit Name (eg, section) []:aaa
    Common Name (e.g. server FQDN or YOUR name) []:aaa
    Email Address []:
     
    3、修改权限
    chmod 0400 /etc/ssl/certs/vsftpd.pem
     
    4、ssl具体配置/etc/vsftpd.conf最后添加
    ssl_enable=YES
    rsa_cert_file=/etc/ssl/certs/vsftpd.pem
    ssl_sslv2=YES
    ssl_sslv3=YES
    ssl_tlsv1=YES
     
    5、配置说明
    ssl_enable=YES                            #开启vsftpd对ssl协议的支持
    ssl_sslv2=YES                             #支持SSL v2 protocol
    ssl_sslv3=YES                             #支持SSL v3 protocol
    ssl_tlsv1=YES                             #支持TSL v1
    rsa_cert_file=/etc/ssl/certs/vsftpd.pem   #存放证书地方
     
    6、重启服务
    /etc/init.d/vsftpd restart
    Stopping FTP server: vsftpd.
    Starting FTP server: vsftpd.
     
    7、测试
    1)lftp fileftp:'redhat'@192.168.1.124
    ls: Fatal error: Certificate verification: Not trusted
    解决在/etc/lftp.conf文件中添加1行到最后
    set ssl:verify-certificate no
    再登录一次就OK了
    2)查看日志
    Sat Aug  1 13:52:23 2015 [pid 2] CONNECT: Client "192.168.1.124"
    Sat Aug  1 13:52:23 2015 [pid 2] DEBUG: Client "192.168.1.124""Connection terminated without SSL shutdown - buggy client?"
    Sat Aug  1 13:56:25 2015 [pid 2] CONNECT: Client "192.168.1.120"
    Sat Aug  1 13:56:25 2015 [pid 1] [fileftp] OK LOGIN: Client "192.168.1.120"
     
    8、工具测试(flashfxp)
  • 相关阅读:
    BZOJ3779: 重组病毒
    BZOJ3112 [ZJOI2013]防守战线
    BZOJ4011 [HNOI2015]落忆枫音
    BZOJ2726 [SDOI2012]任务安排
    BZOJ1492 [NOI2007]货币兑换
    BZOJ1597 [USACO2008]土地购买
    BZOJ3611 [HEOI2014]大工程
    BZOJ3991 [SDOI2015]寻宝游戏
    BZOJ3675 [APIO2014]序列分割
    BZOJ1010 [HNOI2008]玩具装箱
  • 原文地址:https://www.cnblogs.com/yangxiaochu/p/7641320.html
Copyright © 2011-2022 走看看