Vsftpd安装和配置

本文详细介绍了在192.168.199.10服务器上安装和配置Vsftpd的过程,包括启用匿名用户登录、设置虚拟用户以及配置本地用户访问。通过编辑vsftpd.conf文件,调整匿名用户权限、指定被动端口,并创建虚拟用户认证文件。同时,设置了开机自启和防火墙端口开放,确保服务正常运行。
摘要由CSDN通过智能技术生成

Vsftpd安装和部署

  1. vsftpd官网

    http://www.linuxfromscratch.org/blfs/view/svn/server/vsftpd.html

  2. 安装环境

    部署ip部署软件开发端口
    192.168.199.10vsftpd21/10060-10090
  3. vftpd安装

    yum -y install vsftpd

  4. 基础配置

    4.1 功能一(匿名用户)

    # 创建匿名上传目录
    mkdir -p /data/vsftpd/niming
    mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
    vim /etc/vsftpd/vsftpd.conf
    
    # 允许匿名用户登录
    anonymous_enable=YES
    local_enable=YES
    # 禁止匿名用户写入权限
    write_enable=NO
    local_umask=022
    anon_upload_enable=YES
    # 禁止匿名用户创建权限
    anon_mkdir_write_enable=NO
    # 匿名登录不需要密码
    no_anon_password=YES
    # 指定匿名用户默认访问目录
    local_root=/data/vsftpd/niming
    anon_root=/data/vsftpd/niming
    dirmessage_enable=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    xferlog_std_format=YES
    listen=NO
    listen_ipv6=YES
    pam_service_name=vsftpd
    userlist_enable=YES
    tcp_wrappers=YES
    # 指定被动端口,【添加】以下行,指定的端口范围,要在防火墙中开放
    pasv_min_port=10060
    pasv_max_port=10090
    

    4.2 功能二(虚拟用户)

    # 创建虚拟用户上传目录
    mkdir -p /data/vsftpd/xuni
    mkdir -p /data/vsftpd/xuni01
    chmod -R 777 /data/vsftpd/xuni
    chmod -R 777 /data/vsftpd/xuni01
    mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
    ##############################################################################################
    vim /etc/vsftpd/vsftpd.conf
    
    # 设定不允许匿名访问
    anonymous_enable=NO
    # 设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问
    local_enable=YES
    write_enable=YES
    local_umask=022
    dirmessage_enable=YES
    # 记录上传下载文件的日志
    xferlog_enable=YES
    connect_from_port_20=YES
    chown_uploads=YES
    chown_username=ftp
    # 日志记录文件位置
    xferlog_file=/var/log/vsftpd.log
    # 格式化日志
    xferlog_std_format=YES
    # 设定支持ASCII模式的上传和下载功能
    ascii_upload_enable=YES
    ascii_download_enable=YES
    # 使用户不能离开主目录 
    chroot_list_enable=YES
    #chroot_list_file=/etc/vsftpd/chroot_list
    ls_recurse_enable=YES
    # 监听IPv4 sockets
    listen=YES
    # 注释IPv6 sockets监听
    #listen_ipv6=YES
    # PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证 //已下三个请在配置文件中手动添加 
    pam_service_name=vsftpd 
    userlist_enable=YES
    userlist_deny=YES
    # /etc/vsftpd/user_list中的用户禁止登录ftp
    # 如果只配置userlist_enable=YES,有可能出现错误 “530 Permission denied”,因此加上如下配置
    userlist_file=/etc/vsftpd/user_list
    tcp_wrappers=YES
    # 设定启用虚拟用户功能 
    guest_enable=YES
    # 指定虚拟用户的宿主用户,CentOS中已经有内置的ftp用户了
    guest_username=ftp
    # 设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名)
    user_config_dir=/etc/vsftpd/vuser_conf
    pasv_min_port=10060
    pasv_max_port=10090
    # 文件上传下载权限设置
    allow_writeable_chroot=YES
    anon_umask=022
    file_open_mode=777
    # 虚拟用户和本地用户有相同的权限
    virtual_use_local_privs=YES
    ##############################################################################################
    <!-- 创建chroot list,将vftpd.conf配置文件中的guest_username加入其中 -->
    echo ftp >> /etc/vsftpd/chroot_list
    echo xuni >> /etc/vsftpd/chroot_list
    echo xuni01 >> /etc/vsftpd/chroot_list
    <!-- 创建用户密码文件,注意奇行是用户名,偶行是密码 -->
    vim /etc/vsftpd/vuser_passwd.txt
    
    xuni
    123456
    xuni01
    123456
    <!-- 生成虚拟用户认证的db文件 -->
    db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
    ##############################################################################################
    <!-- 编辑认证文件,全部注释掉原来语句再增加以下两句,根据版本号加入 -->
    vim /etc/pam.d/vsftpd
    
    #系统为32位的
    auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
    account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
    #系统为64位的
    auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
    account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
    ##############################################################################################
    <!-- 创建虚拟用户配置文件 -->
    mkdir -p /etc/vsftpd/vuser_conf/
    vim /etc/vsftpd/vuser_conf/xuni
    
    # 虚拟用户根目录,根据实际情况修改(如果没有需要创建),该目录必须要有读写权限chmod -R 777目录。
    local_root=/data/vsftpd/xuni
    # 可写
    write_enable=YES
    # 掩码
    anon_umask=022
    anon_world_readable_only=NO
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES
    ##############################################################################################
    vim /etc/vsftpd/vuser_conf/xuni01
    
    # 虚拟用户根目录,根据实际情况修改(如果没有需要创建),该目录必须要有读写权限chmod -R 777目录。
    local_root=/data/vsftpd/xuni01
    # 可写
    write_enable=YES
    # 掩码
    anon_umask=022
    anon_world_readable_only=NO
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES
    

    4.3 功能三(本地用户)

    # 创建用户并修改密码
    useradd -d /home/hcr -m hcr
    echo hcr | passwd --stdin hcr
    # 创建文件上传目录,修改权限
    mkdir -p /data/vsftpd/hcr
    chown -R hcr:hcr /data/vsftpd/hcr
    # 修改配置文件
    mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
    vim /etc/vsftpd/vsftpd.conf
    
    # 禁用匿名用户登录,【修改】以下行
    anonymous_enable=NO
    # 允许上传,取消以下两行的注释,也可直接【添加】
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    # 所有系统用户都映射成guest用户,指定主目录,【添加】以下配置
    guest_enable=YES
    guest_username=hcr
    local_root=/data/vsftpd
    # 允许修改和删除文件,【添加】以下行
    anon_other_write_enable=YES
    # 设置上传文件的默认用户和权限
    chown_uploads=yes
    chown_username=hcr
    chown_upload_mode=0644
    # 新建的目录和上传的文件可删除,【添加】以下行
    anon_umask=022
    # 指定被动端口,【添加】以下行,指定的端口范围,要在防火墙中开放
    pasv_min_port=10060
    pasv_max_port=10090
    
  5. 开机自启设置

    # 加入开机启动
    systemctl daemon-reload
    systemctl enable vsftpd
    # 查看开机是否启动成功
    systemctl is-enabled vsftpd
    # 启动服务
    systemctl start vsftpd
    # 停止服务
    systemctl stop vsftpd
    
  6. 防火墙开放端口

    firewall-cmd --zone=public --add-port=21/tcp --permanent
    firewall-cmd --zone=public --add-port=10060-10090/tcp --permanent
    firewall-cmd --reload
    setenforce 0
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值