虚拟账号ftp服务器

1. 简介


     由于部门要将统计出来的数据提供给其他部门同事使用,以及其他公司使用。考虑数据的传输管理简单,我们搭建了ftp文件服务器。

 
2. 部署架构

 

1)数据源在内网上面的,数据分析服务器上计算完成,然后内网通过rsync同步到ftp服务器上。
     ftp-server rsync配置:
 1 [root@VM_72_183_centos ftpdata]# cat /etc/rsyncd.conf
 2 uid = root
 3 gid = root
 4 use chroot = no
 5 max connections = 10
 6 pid file = /var/run/rsyncd.pid
 7 lock file = /var/run/rsync.lock
 8 log file = /var/log/rsyncd.log
 9 [ftpdata]
10 path=/data/ftpdata
11 ignore errors
12 read only = no
13 list = no
14 #hosts allow = 192.168.0.0/255.255.255.0
15 auth users = root
16 secrets file = /etc/rsyncd.secrets
17  
18 [root@VM_72_183_centos ftpdata]# cat /etc/rsyncd.secrets
19 root:ftpdata5666
20  
21 [root@VM_72_183_centos ~]# rsync --daemon --config=/etc/rsyncd.conf --log-file=/var/log/rsync.log

 

      数据源同步数据设置
1 [root@lnmp ~]# vim /etc/rsync.pass
2 ftpdata5666
3 
4 [root@lnmp ~]# chmod 600 /etc/rsync.pass
5 
6 [root@lnmp ~]# rsync -avrzp --password-file=/etc/rsync.pass 20150703/data.log root@10.232.72.183::ftpdata/mike/20150703/     #同步
7  rsync -auvzP --password-file=/etc/rsyncd.pass $src root@$hostip::ftpdata/$ftpuser/$date/                      #自动化同步设置

 

 
2)其他部门从ftp-server下载数据。
    ftp-server vsftpd配置:
    1)安装vsftpd服务
    2)配置/etc/vsftpd/vsftpd.conf
         anonymous_enable=NO
         local_root=/data/ftpdata
         guest_enable=YES
         guest_username=vftpuser
         user_config_dir=/etc/vsftpd/vusers_dir
         pam_service_name=vsftpd.vu
    3) 账号管理
       
 useradd -d /data/ftpdata/ -s /sbin/nologin vftpuser
       
 vim /etc/vsftpd/vusers.list
 mike               #奇数行,用户名
 123                #偶数行,密码
 john
 456
 test
 789
      
 db_load -T -t hash -f /etc/vsftpd/vusers.list /etc/vsftpd/vusers.db    #生成密码数据库

 vim /etc/pam.d/vsftpd.vu
 #%PAM-1.0
 auth       required     pam_userdb.so  db=/etc/vsftpd/vusers
 account    required     pam_userdb.so  db=/etc/vsftpd/vusers
     添加账号脚本:
     [root@lnmp ~]# cat addvftpuser.sh
 1 #!/bin/bash
 2 user=$1
 3 pass=$2
 4 dir=/data/ftpdata
 5 if [ $# -lt 2 ] ;then echo "addvftpuser.sh <username> <password>";exit 1; fi
 6 #update password
 7 cd /etc/vsftpd/
 8 \cp -f vusers.list vusers.list.old
 9 echo $user >> vusers.list
10 echo $pass >> vusers.list
11 db_load -T -t hash -f vusers.list vusers.db
12 #mkdir user home dir
13 mkdir -p $dir/$user
14 echo "local_root=$dir/$user" > vusers_dir/$user 
    [root@lnmp ~]#sh addvftpuser.sh hello 1234      #后续只需这种方式,就可以添加账号
    默认每个用户只能在自己的独立的目录,权限只读。
 
     客户端下载:
  
lftp
     [root@node1 ~]# lftp -u mike,123 192.168.191.130
      lftp mike@192.168.191.130:~> ls
      -rw-r--r--    1 0        0               0 Jun 30 14:38 aa
      lftp mike@192.168.191.130:/> get aa
      lftp mike@192.168.191.130:/> exit
     [root@node1 ~]# ls aa
      aa
    
wget
     [root@lnmp ~]# wget --ftp-user=mike --ftp-password=123   
      ftp://localhost/aa
      --2015-06-30 23:39:04--  ftp://localhost/aa
           => “aa”

浏览器打开
        ftp://192.168.191.130



 

posted @ 2015-07-03 22:08  51runsky  阅读(338)  评论(0编辑  收藏  举报