FTP虚拟账户

第一步:服务器端的配置
  
       1  安装相应的软件包
          1.1  vsftpd
          1.2  db4-utils(生产数据库的软件包)
 
       2   建立虚拟用户及口令的库文件:当前目录在/home下
           vi  logins.txt (奇数行代表用户名,偶数行代表用户名的密码,分别占一行)
           chen
           123
           wei
           123
           ftz
           123
       3   3.1 生产vsftpd的认证的文件
               db_load -T -t hash -f /home/logins.txt /etc/vsftpd/vsftpd_login.db
           3.2 vsftpd_login.db文件的权限应设置为只对root用户可读可写,即600
               chmod 600 /etc/vsftpd/vsftpd_login.db
 
       4    建立虚拟用户所需的PAM的配置文件
            cd /etc/pam.d
            vi user.txt(身份验证的)
            auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
            account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
 
      5    设置代理用户,此用户为系统真正的用户(备注:系统用户:0--500,真正用户是>500的)
           useradd chenwei
           passwd chenwei  密码:123
 
      6    修改服务器的主配置文件,在最后面添加几行记录
           vi /etc/vsftpd/vsftpd.conf
           anonymouns_enable=NO并把#去丢
           anon_upload_enable=YES并把#去丢
           anon_mkdir_write_enable=YES并把#去丢
           guest_enable=YES
           guest_username=chenwei(代理的系统用户)
           pam_service_name=user.txt(检查用户身份的文件)
           重新启动服务(客户端验证效果,看不到用户的主目录,能下载)
      7  7.1 修改服务器的主配置文件,在最后面添加几行记录
             vi /etc/vsftpd/vsftpd.conf
             user_config_dir=/home/conf
         7.2 创建文件mkdir /home/conf
         7.3 为虚拟用户建立单独的配置文件并分配相应的权限
             cd /home/conf
             vi chen
             anon_world_readable_only=NO
             anon_upload_enable=NO
         7.4  重新启动服务 service vsftpd restart

9、安装openssl
   yum install openssl*

   9.1 确认一下安装的vsftpd是否支持ssl加密

      [root@localhost public]# ldd /usr/sbin/vsftpd | grep libssl
      libssl.so.6 => /lib/libssl.so.6 (0x00502000)
 
   9.2 利用OpenSSL生成证书

       [root@localhost] openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem
       其中"-days 365"声明证书的有效期是一年。
       接下来的过程需要你输入一些相关的国家,地区,位置,组织名称,common name等信息。
       回答这些信息以后系统会将生成完的证书vsftpd.pem文件保存在/etc/vsftpd目录下。
   9.3 修改/etc/vsftpd/vsftpd.conf文件

       增加下面这些内容,这些参数是与ssl有关的。

       ssl_enable=YES
       allow_anon_ssl=NO
       force_local_data_ssl=NO
       force_local_logins_ssl=YES
       ssl_tlsv1=YES
       ssl_sslv2=NO
       ssl_sslv3=NO
       rsa_cert_file=/etc/vsftpd/vsftpd.pem

       如果设置force_local_logins_ssl=YES,那么会强制用户登录时采用支持TLS/SSL认证的ftp客户端。如果设置为NO的话,则用户可以选择使用ssl加密或者不加密。
   9.4 重新启动vsftpd服务

  

    [root@localhost] /etc/rc.d/init.d/vsftpd restart
   

解决vsftpd虚拟用户没有chmod权限的问题

#让虚用户获得本地用户权限
virtual_use_local_privs=YES
#开启chmod命令
chmod_enable=YES 
10、下载flash客户端测试
flashfxp等ftp客户端设置ssl选项,如下图:


 

通过FlashFXP连接成功~


第二步: 客户端验证效果(略)

posted @ 2018-03-07 15:27  屌丝的IT  阅读(140)  评论(0编辑  收藏  举报