• vsftpd服务常见配置


    1、更改命令端口

    更改配置文件

    listen_port=2121 默认值为21
    

    客户端连接

    $ lftp 10.4.7.1 -p 2121
    $ ftp 10.4.7.1 2121
    

    2、主动模式端口

    connect_from_port_20=YES         # 主动模式端口为20
    ftp_data_port=20                 # (默认)指定主动模式的端口
    

    3、被动模式端口范围

    linux ftp                      # 客户端默认使用被动模式
    windows ftp                    # 客户端默认使用主动模式
    pasv_min_port=6000             # 0为随机分配,端口范围会影响客户端的并发数
    pasv_max_port=6010
    

    4、使用当地时间

    use_localtime=YES              # 使用当地时间(默认为NO,使用GMT)
    

    5、匿名用户登录

    anonymous_enable=YES                    # 支持匿名用户,CentOS8 默认不允许匿名
    no_anon_password=YES                    # 匿名用户略过口令检查 , 默认NO
    

    6、匿名用户上传

    anon_upload_enable=YES                      # 匿名上传,注意:文件系统权限
    anon_mkdir_write_enable=YES                 # 匿名建目录
    

    注意:还需要开启文件系统访问的权限,不能给FTP根目录写权限,只能级子目录写权限,否则报如下错误:

    $ ftp 10.4.7.1
    Connected to 10.4.7.1 (10.4.7.1).
    220 (vsFTPd 3.0.3)
    Name (10.4.7.1:root): ftp
    331 Please specify the password.
    Password:
    500 OOPS: vsftpd: refusing to run with writable root inside chroot()
    Login failed.
    421 Service not available, remote server has closed connection
    
    anon_world_readable_only                   # 只能下载全部读的文件, 默认YES
    anon_umask=0333                            # 指定匿名上传文件的umask,默认077,注意:0333中的0不能省略
    anon_other_write_enable=YES                # 可删除和修改上传的文件, ,默认NO
    

    7、指定匿名用户的上传文件的默认的所有者和权限

    chown_uploads=YES                 # 默认NO
    chown_username=lzj                # 用户事先创建
    chown_upload_mode=0644
    

    8、Linux系统用户

    local_enable=YES                 # 是否允许linux用户登录
    write_enable=YES                 # 允许linux用户上传文件
    local_umask=022                  # 指定系统用户上传文件的默认权限
    

    9、将系统用户映射为指定的guest用户

    guest_enable=YES                  # 所有系统用户都映射成guest用户
    guest_username=ftp                # 配合上面选项才生效,指定guest用户
    local_root=/ftproot               # guest用户登录所在目录
    

    10、禁锢所有系统在家目录中

    chroot_local_user=YES             # 禁锢系统用户,默认NO,即不禁锢
    

    11、禁锢或不禁锢特定的系统用户在家目录中,与上面设置功能相反

    chroot_list_enable=YES                      # 默认是NO
    chroot_list_file=/etc/vsftpd/chroot_list    # 默认值
    
    • chroot_local_user=YESchroot_list_enable=YES时,则chroot_list中用户不禁锢,即白名单
    • chroot_local_user=NOchroot_list_enable=YES时,则chroot_list中用户禁锢,即黑名单

    12、日志

    wu-ftp 日志:默认启用
    xferlog_enable=YES                # 启用记录上传下载日志,此为默认值
    xferlog_std_format=YES            # 使用wu-ftp日志格式,此为默认值
    xferlog_file=/var/log/xferlog     # 可自动生成, 此为默认值
    
    vsftpd日志:默认不启用
    dual_log_enable=YES               # 使用vsftpd日志格式,默认不启用
    vsftpd_log_file=/var/log/vsftpd.log    # 可自动生成, 此为默认值
    

    13、登录提示信息

    ftpd_banner="welcome to mage ftp server"
    banner_file=/etc/vsftpd/ftpbanner.txt
    

    14、目录访问提示信息

    dirmessage_enable=YES                # 此为默认值
    message_file=.message                # 信息存放在指定目录下.message ,此为默认值
    

    15、PAM模块实现用户访问控制

    pam_service_name=vsftpd
    # pam配置文件:/etc/pam.d/vsftpd
    # /etc/vsftpd/ftpusers 默认文件中用户拒绝登录,默认是黑名单,但也可以是白名单
    

    示例:

    $ ldd /usr/sbin/vsftpd |grep pam
            libpam.so.0 => /lib64/libpam.so.0 (0x00007fb286c34000)
    
    # 修改PAM配置,使ftpusers成为白名单
    $ vim /etc/pam.d/vsftpd
    #%PAM-1.0
    session    optional     pam_keyinit.so    force revoke
    # 将sense=deny 修改为 sense=allow
    auth       required     pam_listfile.so item=user sense=allow file=/etc/vsftpd/ftpusers onerr=succeed
    auth       required     pam_shells.so
    auth       include      password-auth
    account    include      password-auth
    session    required     pam_loginuid.so
    session    include      password-auth
    

    16、是否启用控制用户登录的列表文件

    userlist_enable=YES            # 此为默认值
    userlist_deny=YES              # (默认值) 黑名单,不提示口令,NO为白名单
    userlist_file=/etc/vsftpd/users_list    # 此为默认值
    

    17、vsftpd服务指定用户身份运行

    nopriv_user=nobody         # 此为默认值
    

    示例:

    $ pstree -p |grep vsftpd
               `-vsftpd(82694)-+-vsftpd(83268)---vsftpd(83270)
                               `-vsftpd(83610)---vsftpd(83612)
    
    $ ps auxf|grep vsftpd
    root      84248  0.0  0.1  12108  1088 pts/1    S+   15:04   0:00  |           \_ grep --color=auto vsftpd
    root      82694  0.0  0.0  26980   408 ?        Ss   15:00   0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
    nobody    83268  0.0  0.5  61756  4104 ?        Ss   15:01   0:00  \_ /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
    wang      83270  0.0  0.4  74336  3800 ?        S    15:02   0:00  |   \_ /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
    nobody    83610  0.0  0.3  37276  2616 ?        Ss   15:03   0:00  \_ /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
    ftp       83612  0.0  0.4  67868  3760 ?        S    15:03   0:00      \_ /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
    

    18、连接数限制

    max_clients=0       # 最大并发连接数
    

    如果超出连接,会报如下提示:

    vsftpd服务常见配置插图(1)

    max_per_ip=0           # 每个IP同时发起的最大连接数
    

    如果超出连接,会报如下提示:

    vsftpd服务常见配置插图(2)

    19、传输速率,单位:字节/秒

    anon_max_rate=0               # 匿名用户的最大传输速率
    local_max_rate=0              # 本地用户的最大传输速率
    

    20、连接时间:秒为单位

    connect_timeout=60            # 主动模式数据连接超时时长
    accept_timeout=60             # 被动模式数据连接超时时长
    data_connection_timeout=300   # 数据连接无数据输超时时长
    idle_session_timeout=60       # 无命令操作超时时长
    

    21、优先以文本方式传输

    ascii_upload_enable=YES
    ascii_download_enable=YES
    

    说明:不建议使用文本方式,因为可能导致二进制文件内容被破坏

    *************** 当你发现自己的才华撑不起野心时,就请安静下来学习吧!***************
  • 相关阅读:
    asp.net core 2.0的认证和授权
    数据库性能优化详解
    StringUtils.defaultIfBlank
    SQL优化(二) 快速计算Distinct Count
    SQL语句中Left join,right join,inner join用法
    sql中的limit关键字
    多线程之间的资源共享
    面试长谈的String,StringBuffer,StringBuilder三兄弟有啥区别
    关于java中的值传递与引用传递遇到的问题
    Struts1和Struts2的区别和对比:
  • 原文地址:https://www.cnblogs.com/lvzhenjiang/p/14405780.html
Copyright © 2020-2023  润新知