centos7搭建vsftp 多用户 多目录

centos7搭建vsftp 多用户 多目录

  1. 安装vsftp以及密钥数据库

    sudo yum install -y vsftp
    sudo yum -y install libdb-utils
    # sudo yum install pam* libdb-utils libdb* --skip-broken -y
    
  2. 增加虚拟用户& 数据目录 & 开放防火墙端口

    sudo useradd -s /sbin/nologin virftp
    #创建虚拟用户数据目录(具体位置可自由指定,但是要与用户文件中的local_root匹配)
    sudo mkdir -p  /data/virftp/ftpuat  
    sudo mkdir -p  /data/virftp/ftptest
    #目录授权
    sudo chown virftp:virftp /data/virftp
    #开放防火墙端口
    sudo firewall-cmd --zone=public --add-port=21/tcp --permanent
    #允许外联ftp通过如下端口访问(需要与vsftpd.conf的pasv_min_port和pasv_max_port保持一致)
    sudo firewall-cmd --zone=public --add-port=40000-45000/tcp --permanent
    #生效配置
    sudo firewall-cmd --reload
    
  3. 配置文件vsftpd.conf

    #基本操作:备份
    sudo cp /etc/vsftpd/vsftpd.conf{,.bak}
    #设置配置信息
    sudo vim /etc/vsftpd/vsftpd.conf
    
    #禁止匿名用户登录
    anonymous_enable=NO
    #允许本地用户登录
    local_enable=YES
    #启用虚拟账户 
    guest_enable=YES
    #把虚拟账户映射virftp,之后所有的虚拟用户都在这个目录下              
    guest_username=virftp
    #使用虚拟用户验证(PAM验证)
    pam_service_name=vsftpd
    #设置存放各虚拟用户配置文件的目录(此目录下与虚拟用户名相同的文件为它的配置文件)
    user_config_dir=/etc/vsftpd/vsftpd_viruser
    #启用chroot时,虚拟用户根目录允许写入
    allow_writeable_chroot=YES
    #被动模式,文件传输端口的最大最小范围
    pasv_min_port=40000
    pasv_max_port=45000
    
  4. 配置用户参数

    #创建并打开目标文件
    sudo vim /etc/vsftpd/vir_user
    # 新建ftpuat 和 ftptest用户
    #拷贝下列四行进去(第一行是user 第二行是passwd 第三行是user 第四行是passwd 依次类推 奇偶交替 不要有空行和空格)
    ftpuat
    ftpuat_pwd
    ftptest
    ftptest_pwd
    
    #创建虚拟用户配置目录
    sudo mkdir -p /etc/vsftpd/vsftpd_viruser/
    #创建虚拟用户配置文件 每个虚拟用户一个 这里用ftpuat用户作为例子
    sudo vim /etc/vsftpd/vsftpd_viruser/ftpuat
    
    #ftpuat文件的内容
    #指定虚拟用户目录
    local_root=/data/virftp/ftpuat
    # 上传文件的掩码,如022时,上传目录权限为755,文件权限为644
    anon_umask=022
    # 允许写入
    write_enable=YES
    #允许浏览FTP目录和下载
    anon_world_readable_only=NO
    #允许上传
    anon_upload_enable=YES
    #允许下载
    download_enable=YES
    # 允许创建目录
    anon_mkdir_write_enable=YES
    # 允许用户执行其他操作(如改名、删除)
    anon_other_write_enable=YES
    
  5. 配置pam验证文件

    #基本操作 备份
    sudo cp /etc/pam.d/vsftpd{,.bak}
    #打开目标文件 删除掉全部的auth 和account开头的行
    sudo vim /etc/pam.d/vsftpd
    # 将下列两行添加到目标文件中
    auth       required     pam_userdb.so   db=/etc/vsftpd/vir_user          
    account    required     pam_userdb.so   db=/etc/vsftpd/vir_user
    
  6. 最后一步生成虚拟数据库

    sudo db_load -T -t hash -f /etc/vsftpd/vir_user  /etc/vsftpd/vir_user.db
    sudo chmod 700 /etc/vsftpd/vir_user.db
    
  7. 完成,开启服务器

    sudo systemctl restart vsftpd
    
  8. 如果增加新的虚拟用户,请参考下面

    # 参考第四步 增加用户配置信息之后 执行下列命令
    sudo db_load -T -t hash -f /etc/vsftpd/vir_user  /etc/vsftpd/vir_user.db
    sudo systemctl restart vsftpd
    
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值