• vsftp配置详解


    一、安装

    # 1.安装软件
        $ sudo apt-get install vsftpd
    # 2.修改 /etc/shells,避免报错 530 login incorrect
        $ vi /etc/shells
        增加 /usr/sbin/nologin
    # 3.增加ftp账户(如果使用系统账号也可不添加)
        $ sudo useradd -d /home/ftp -g ftp -s /usr/sbin/nologin ftpname
        指定/home/ftp为ftp文件目录,创建ftpname用户创建ftp用户组。
    # 4.设置ftpname密码
        $ sudo passwd ftpname
    

    二、vsftp配置文件

    $ sudo vi /etc/vsftpd.conf 重点配置标注下

    listen=YES
    listen_ipv6=YES
    anonymous_enable=NO   # 禁用匿名账号登陆
    local_enable=YES   # 允许本地账号登陆
    write_enable=YES   # 允许ftp的写操作
    anon_upload_enable=NO
    anon_mkdir_write_enable=NO
    dirmessage_enable=YES
    use_localtime=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    ftpd_banner=Welcome to FTP service.
    
    # 允许写入跟路径,这条不加容易出现 500 OOPS: vsftpd: refusing to run with writable root inside chroot () 报错
    allow_writeable_chroot=YES
    
    # 这三条设置用户限定在ftp文件目录,不能跨出该目录外,但在/etc/vsftpd.chroot_list文件中列出的用户除外。
    chroot_local_user=YES   # 所有用户被限制在ftp目录内,不能跨出该目录,除非有例外情况;
    chroot_list_enable=YES   # 这里就是例外情况
    chroot_list_file=/etc/vsftpd.chroot_list   # 跨目录例外情况 白名单
    
    secure_chroot_dir=/var/run/vsftpd/empty
    pam_service_name=vsftpd
    rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
    rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
    ssl_enable=NO
    
    local_root=/home/ftp   # 设置ftp文件主目录(登陆ftp后显示的目录)
    
    # 在 vsftpd.user_list 里的用户允许登陆ftp,注意同时注释掉在 ftpuser黑名单 里面的用户
    userlist_enable=YES
    userlist_deny=NO
    userlist_file=/etc/vsftpd.user_list   # 允许ftp登陆账号 白名单
    

    三、用户黑白名单实现

    1. ftpuser黑名单

    /etc/ftpusers 是一个黑名单配置,禁止访问ftp的用户,不受任何配置项影响,安装ftp后默认会把系统默认用户都存放在这里。

    2. userlist_enable/userlist_deny/vsftpd.user_list共同控制

    vsftpd.user_list 为白名单还是黑名单受 userlist_enable、userlist_deny 配置控制,一般情况下设置为白名单(即下面第一种配置)。

    • (1) userlist_enable=YES,userlist_deny=NO 此时 vsftpd.user_list 为白名单,在此列表的用户可以访问ftp,其他用户不能。
    • (2) userlist_enable=YES,userlist_deny=YES 此时 vsftpd.user_list 为黑名单,在此列表的用户不能访问ftp,其他用户可以。
    • (3) userlist_enable=NO,userlist_deny=YESNO 时 所有用户被允许登陆,此时 userlist_deny 和 userlist_file 配置失效。
  • 相关阅读:
    【转】如何复制一个正在使用的文件?(VB6.0)
    VB6.0操作SQL Server——增删改查
    SQL Server时间戳并发 .
    WCF WinCE 中 手机端 非字符串型 datetime,int,decimal,double 等等 传递不到WCF端的解决方案
    VB中调用带参数存储过程的实现(数据库)
    C# VB6.0 Java C++ GUID 生成
    vb6.0 取得文件扩展名
    VB6.0 取得windows 临时目录 temp
    VB6.0 在代码中直接调用 文件打开对话框,不使用windows控件
    VB数据库记录查询四法
  • 原文地址:https://www.cnblogs.com/sstfy/p/10351802.html
Copyright © 2020-2023  润新知