zoukankan      html  css  js  c++  java
  • vsftpd的几种工作方式

    2020年10月15日09:07:40

    服务器迁移从centos6.9到8.1,我以为最麻烦的是php的扩展安装,以为有些扩展没有支持到8.1的版本,没想到是vsftpd

    之前服务的ftp服务也是vsftp,简单安装之后就可以使用了,但是这次测试了很多次依然是530 各种错误,后来发现对vsftp的工作模式完全不了解

    安装版本是 vsftpd: version 3.0.3

    工作模式:

    1. 主动模式: FTP服务器主动向客户端发起连接请求
    2. 被动模式(默认工作模式): FTP服务器等待客户端发起连接请求

    vsftpd服务程序

    vsftpd作为更加安全的文件传输服务程序。允许用户以三种认证模式登录到FTP服务器。

    1. 匿名开放模式: 一种最不安全的认证模式,任何人都可以无需密码验证而直接登录到FTP服务器。
    2. 本地用户模式: 通过Linux系统本地账户密码信息进行认证的模式,比匿名开放模式更安全,配置更简单那。但如果黑客破解了账户信息,就就可以畅通无阻的登录FTP服务器,控制整个服务器。
    3. 虚拟用户模式: 最安全的认证模式,需要为FTP服务单独建立用户数据库文件,虚拟出用来进行口令认证的账户信息,而这些账户信息在服务器系统中实际上是不存在的,仅供FTP服务程序进行认证使用。因此,即使破解了账户信息也无法登录服务器,降低破坏范围和影响。

    注意,网上的博客上没有注明是那种工作模式导致,有的使用了PAM做权限管理,有的没有,其实更常用的是本地用户模式,使用pam增加虚拟用户的就是虚拟用户模式

    /etc/vsftpd 文件配置目录

    .
    ├── banned_emails
    ├── chroot_list
    ├── ftpusers
    ├── user_list
    ├── vsftpd.bak
    ├── vsftpd.conf
    └── vsftpd_conf_migrate.sh

    vi vsftpd.conf

    #
    匿名开放模式 anonymous_enable=NO anon_umask=022 anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES #本地用户模式 local_enable=YES write_enable=YES local_umask=022 userlist_enable=YES userlist_deny=YES dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES chown_uploads=YES #chown_username=root xferlog_file=/var/log/xferlog xferlog_std_format=YES data_connection_timeout=120 #nopriv_user=root async_abor_enable=YES ascii_upload_enable=YES ascii_download_enable=YES ftpd_banner=Welcome to blah FTP service. deny_email_enable=YES banned_email_file=/etc/vsftpd/banned_emails chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list ls_recurse_enable=YES listen=YES listen_port=2111 listen_ipv6=NO allow_writeable_chroot=YES pam_service_name=vsftpd tcp_wrappers=NO local_root=/data/wwwroot pasv_enable=YES pasv_min_port=10080 pasv_max_port=10090

    查看登录日志

    tail -f /var/log/secure
    vi /etc/services 查看服务的默认端口号
    
    vi
    /etc/shells
    因为安全问题,用户是不能登录
    加上
    /bin/sh
    /bin/bash
    /usr/bin/sh
    /usr/bin/bash
    /sbin/nologin

    不然503

    注意比如我让www用户作为ftp账户

    local_root=/data/wwwroot
    的用户组记得
    chown -R www:www /data/wwwroot


    参考:

    https://blog.csdn.net/m0_46327721/article/details/107930970

    https://blog.51cto.com/12674559/2114012?source=dra

  • 相关阅读:
    [转]拜占庭故障 & Paxos 算法
    如何让 YARN 支持 CNPM 的完整加速
    面试必问系列:悲观锁和乐观锁的那些事儿
    ajax下载文件的坑
    mac 装homebrew
    SLF4J报错问解决
    java追加文件
    CentOS 清理空间
    Dockerfile 通过 ARG 设置 ENV 无效的原因
    GoLang 中发送 email 邮件
  • 原文地址:https://www.cnblogs.com/zx-admin/p/13819128.html
Copyright © 2011-2022 走看看