zoukankan      html  css  js  c++  java
  • Linux(centos7,vsftpd)上FTP服务器搭建(使用yum,快捷配置版)

    1.安装FTP

    $ yum -y install vsftpd
    $ cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak
    #每个用户独立目录请创建多个用户(如ftp1,ftp2,ftp3,ftp4,用户根目录文件夹名称最好和用户名相同方便区分)组指定fpt
    $ useradd -d 用户根目录 -m 用户名 -g ftp
    $ passwd 用户名 #连输2次密码
    
    检查/etc/pam.d/vsftpd 注释掉 auth    required pam_shells.so
    $ vim /etc/pam.d/vsftpd
    #auth    required pam_shells.so
    

    2.配置(vim /etc/vsftpd/vsftpd.conf,以下为我用的配置,删除原内容,直接替换就好了,写该配置时版本vsftpd-3.0.2-27.el7.x86_64,使用rpm -qa | grep vsftpd查看版本)

    anonymous_enable=NO
    local_enable=YES
    #local_root=/home/ftp #无该行则不同的用户名称进来路径在用户下的的根目录
    write_enable=YES
    download_enable=NO
    local_umask=022
    dirmessage_enable=YES
    #所有用户不允许访问local_root的上级目录
    chroot_list_enable=NO
    chroot_local_user=YES
    
    xferlog_enable=YES
    xferlog_file=/home/vsftpd.log
    xferlog_std_format=YES
    connect_from_port_20=YES
    #默认情况下,vsftpd以单例模式监听IPv4 socket端口。该命令不能和listen_ipv6同时使用
    listen=YES
    listen_ipv6=NO
    #在vsftpd.user_list中的用户且不在ftpusers的用户允许访问
    userlist_enable=YES
    userlist_deny=NO
    idle_session_timeout=300
    pam_service_name=vsftpd
    tcp_wrappers=YES
    #设置每个与FTP服务器的连接,是否以不同的进程表现出来
    setproctitle_enable=YES
    allow_writeable_chroot=YES
    #被动模式(无连接数量限制)
    pasv_enable=YES
    pasv_min_port=4000
    pasv_max_port=5000
    max_clients=0
    max_per_ip=0
    

    3.(vim /etc/vsftpd/user_list)可访问的用户列表,以下为举例:多用户多目录,注释掉local_root属性后才有多目录,注释掉所有其他用户,添加 用户名 并保存

    ftp1
    ftp2
    ftp3
    ftp4
    

    4.相关命令(配置重启生效)

    设置开机启动:systemctl enable vsftpd.service
    启动ftp服务:service vsftpd start  
    查看ftp服务状态:service vsftpd status  
    重启ftp服务:service vsftpd restart  
    关闭ftp服务:service vsftpd stop
    

    5.其他设置(一般不用设置,除非特殊权限设置)

    其他权限可以通过特殊方式配置
    首先执行
    mkdir -p /etc/vsftpd/vsftpd_user_conf
    然后执行
    vim /etc/vsftpd/vsftpd_user_conf/ftpuser
    (注意后面的 ftpuser )对应自己要限制权限的账户,我限制的 是 ftpuser 账户对应的命令就变成
    vim /etc/vsftpd/vsftpd_user_conf/ftpuser
    在里面 写入
    cmds_denied=DELE
    这句话的意思是 禁止使用 删除命令。
    然后保存退出 即可 wq
    重新打开配置文件
    vim /etc/vsftpd/vsftpd.conf
    在尾部 写一句
    user_config_dir=/etc/vsftpd/vsftpd_user_conf
    service vsftpd restart #重启
    

    6,连接备注(Java下设置以下ftp连接属性,不然容易失败)

    ftp.setFileType(FTP.BINARY_FILE_TYPE);
    ftp.enterLocalPassiveMode(); // 重要!重要!重要!每次上传文件前都要调用一下重新分配Ip,不然会导致运行不定时长后,上传文件假死问题
    
    连接配置
    host: IP地址
    port: 21
    user: 用户名
    password: 密码(Linux创建用户后修改的那个)
  • 相关阅读:
    4年Java程序员十面阿里终拿下offer,评级P6+年薪30-40w无股票
    真香警告!手绘172张图解HTTP协议+703页TCP/IP协议笔记
    Git官方和创始人都推荐的Git权威指南,广度深度和实战性史无前例
    阿里“教授”总结整理手写大型网站技术架构:核心原理与案例分析
    GitHub上120K Stars国内第一的Java多线程PDF到底有什么魅力?
    霸榜GitHub必读书籍:编写高质量代码改善Java程序员的151个建议
    GitHub上260K Stars的P8架构师纯手写的Java高并发编程详解
    LeetCode每日一题:802 找到最终安全状态
    LeetCode每日一题:662二叉树最大宽度
    Springboot之security框架 登录安全验证授权流程
  • 原文地址:https://www.cnblogs.com/virtulreal/p/10097248.html
Copyright © 2011-2022 走看看