zoukankan      html  css  js  c++  java
  • centos7: vsftpd安装及启动: ftp配置(以虚拟用户为例)

    centos7: vsftpd安装及启动: ftp配置

    1安装:

    yum -y install vsftpd
    /bin/systemctl start vsftpd.service #启动
    /bin/systemctl enable vsftpd.service #开机启动
    

      

    2.目录说明

    /etc/pam.d/vsftpd #基于pam的vsftpd验证配置文件
    /etc/vsftpd #软件主目录
    /etc/vsftpd/vsftpd.conf #主程序配置文件
    /etc/vsftpd/user_list #通过主配置文件设置的黑名单或白名单
    /etc/vsftpd/ftpusers #默认的vsftpd黑名单
    /usr/sbin/vsftpd #主程序
    

      

    3.confi配置文件

    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=022
    dirmessage_enable=YES
    xferlog_enable=YES
    xferlog_std_format=YES
    chroot_local_user=YES
    listen=YES
    pam_service_name=vsftpd
    userlist_enable=YES
    userlist_deny=NO
    tcp_wrappers=YES
    

      

    例如:创建虚拟ftp账户,登录ftp

    1.创建虚拟用户数据库

    依赖:

    yum -y install db4-utils
    

      

    账户:可以添加多个

    vi /etc/vsftpd/vlogin

    tomcat #用户
    123456 #密码
    

      

    加密处理

    db_load -T -t hash -f /etc/vsftpd/vlogin  /etc/vsftpd/vlogin.db
    chmod 600 /etc/vsftpd/{vlogin, vlogin.db}
    

      

    2.创建pam文件,验证虚拟账户

    vi /etc/pam.d/vsftpd.pam

    #先要确定你的linux内核是64位的,还是32位的,32位的不能用lib64
    auth required  /lib64/security/pam_userdb.so db=/etc/vsftpd/vlogin
    account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vlogin
    

      

    3.ftp登录的虚拟目录

    /var/html/wwwroot

    4.创建虚拟用户的目录配置目录及文件

    mkdir /etc/vsftpd_user_conf

    vi /etc/vsftpd_user_conf/tomcat

    内容为:local_root=/var/html/wwwroot

    5.配置vsftpd.conf

    anonymous_enable=NO #禁止匿名访问
    local_enable=YES  #启用本机ftp访问功能
    write_enable=YES #允许写功能
    anon_upload_enable=YES #上传权限
    anon_mkdir_write_enable=NO #新建目录权限
    anon_other_write_enable=NO #删除/重命名的权限
    anon_umask=022 #新建目录权限上传的
    
    #所有非匿名用户映射到vsftpd用户
    guest_enable=YES 
    guest_username=vsftpd
    
    #本地账户掩码
    local_umask=077
    dirmessage_enable=YES #用户进入目录显示信息
    xferlog_enable=YES
    xferlog_std_format=YES
    xferlog_file=/var/log/xferlog
    
    #限制用户在本目录下,禁止用户切换上级根目录权限
    chroot_local_user=YES
    chroot_list_enable=NO
    allow_writeable_chroot=YES
    
    
    listen=YES      #监听端口
    listen_port=21   #监听入站FTP端口号
    
    #被动模式
    pasv_enable=YES 
    pasv_min_port=30000
    pasv_max_port=30999
    pam_service_name=vsftpd.pam
    
    #虚拟账户
    user_config_dir=/etc/vsftpd_user_conf
    user_sub_token=$USER
    
    #yes为白名单
    userlist_enable=YES
    userlist_deny=YES
    
    tcp_wrappers=YES
    

      

    6.在/etc/sysconfig/iptables添加防火墙规则

    #FTP
    -A INPUT  -p tcp --dport 21 -j ACCEPT
    -A INPUT -p tcp --dport 20 -j ACCEPT
    -A OUTPUT -p tcp --sport 21 -j ACCEPT
    -A OUTPUT -p tcp --sport 20 -j ACCEPT
    #ftp-pasv_min/max
    -A INPUT -p tcp --dport 30000:30999 -j ACCEPT
    -A OUTPUT -p tcp --sport 30000:30999 -j ACCEPT
    

      

    如果不行请查看

    iptables -nL

    清楚防火墙规则

    iptables -F

  • 相关阅读:
    在Linux中常用的启动引导工具:grub和lilo
    Linux的启动流程
    时间同步
    LINUX时区的设置
    Linux时间设置命令
    Linux时间介绍
    mysql特殊处理
    PHP 设计模式 笔记与总结(8)策略模式
    Java实现 LeetCode 172 阶乘后的零
    Java实现 LeetCode 172 阶乘后的零
  • 原文地址:https://www.cnblogs.com/achengmu/p/9375424.html
Copyright © 2011-2022 走看看