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创建用户后修改的那个)
  • 相关阅读:
    .NET Framework类库大概
    CTS、CLS、CIL与CLR
    .NETFramework、CLR、.NET Framework class library、托管代码是什么
    万维网三大核心技术
    Clang、GCC和LLVM是什么
    常见开源许可证、开源协议GPL、BSD、MIT、Mozilla、Apache和LGPL之间区别
    编译原理之变量、名字与标识符
    编译原理之静态策略与动态策略
    Jupyter Notebook打开任意文件
    修改VsCodes的语言为中文
  • 原文地址:https://www.cnblogs.com/virtulreal/p/10097248.html
Copyright © 2011-2022 走看看