• Linux搭建VSFTPD服务FTP


    Linux搭建VSFTPD(FTP)服务

    FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中应用层的协议之一

    提供文件共享服务

    互联网上多的媒体资源和软件资源。绝大部分都是通过FTP服务器传递。

    作用:

         

    下面开始安装使用方法:

    一、首先关闭防火墙以及SELinux

    setenforce 0     # 临时关闭SELinux
    sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config # 修改SELinux永久关闭,需要重开机reboot
    sestatus # 查看是否关闭
    SELinux status:disabled # 已关闭状态
    systemctl stop firewalld    # 停止关闭防火墙
    systemctl enable firewalld  # 开机关闭防火墙
    systemctl disable firewalld # 开机关闭防火墙
    

      

    二、安装vsftpd软件包

    yum -y install vsftpd

    三、配置vsftpd.conf文件、配置匿名用户登陆

    write_enable=YES
    anon_umask=022
    anonymous_enable=YES     # 是否允许匿名用户登录ftp
    anon_upload_enable=YES    # 启动上传文件功能
    anon_mkdir_write_enable=YES  # 启动创建目录功能
    anon_other_write_enable=YES  # 启动其他写入功能
    dirmessage_enable=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    xferlog_std_format=YES
    listen=YES
    pam_service_name=vsftpd
    userlist_enable=YES
    tcp_wrappers=YES
    

    四、开启FTP服务

    systemctl restart vsftpd

    直接访问linux主机IP地址ftp://xxx.xxx.xxx.xx即可。

    下面配置虚拟用户登陆FTP

    虚拟用户只能访问FTP服务,而不能访问本机系统

    一、一样首先关闭SElinux和防火墙、创建虚拟FTP不可登陆用户账号

    setenforce 0     # 临时关闭SELinux
    sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config     # 修改SELinux永久关闭,需要重开机reboot
    sestatus # 查看是否关闭
    SELinux status:disabled  # 已关闭状态
    systemctl stop firewalld    # 停止关闭防火墙
    systemctl enable firewalld  # 开机关闭防火墙
    systemctl disable firewalld # 开机关闭防火墙

    useradd -s /sbin/nglogin vu # 用vn代表虚拟用户

    二、创建虚拟用户文件

    [root@localhost ~]# cd /etc/vsftpd/
    [root@localhost vsftpd]# vim user
    

    三、创建数据文件

    通过 db_load 工具创建出 Berkeley DB 格式的数据库文件

    [root@localhost vsftpd]# db_load -T -t hash -f user user.db
    [root@localhost vsftpd]# ls
    app  data  ftpusers  user  user.db  user_dir  user_list  vsftpd.conf  vsftpd_conf_migrate.sh

    备注:
    -f 指定数据原文件
    -T 允许非Berkeley DB的应用程序使用文本格式转换的DB数据文件
    -t hash 读取文件的基本办法
    注意:
    如果想多创建多个虚拟用户登陆,需要在user文件创建账号跟密码,删除user.db数据库文件,在重新创建数据库文件,即可

    四、建立支持虚拟用户的PAM认证文件

    [root@localhost pam.d]# cd /etc/pam.d/
    [root@localhost pam.d]# vim /etc/pam.d/vsftpd.vu
    auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/user
    account required /lib64/security/pam_userdb.so db=/etc/vsftpd/user

    # 备注:
    # 需对应刚出生成user.db文件

     

    五、修改配置文件、修改之前可以先备份,以免发生错误

    [root@localhost vsftpd]# vim vsftpd.conf 
    
    write_enable=YES
    anonymous_enable=NO
    dirmessage_enable=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    xferlog_std_format=YES
    listen=YES
    userlist_enable=YES
    tcp_wrappers=YES
    allow_writeable_chroot=YES
    guest_enable=YES
    guest_username=vu
    pam_service_name=vsftpd.vu
    local_enable=YES
    local_umask=077
    chroot_local_user=YES
    virtual_use_local_privs=YES
    user_config_dir=/etc/vsftpd/user_dir
    

      

    六、常用的全局配置项

    listen = YES                # 是否以独立运行的方式监听服务
    listen_address= 192.168.4.1    #  设置监听FTP服务的IP地址
    listen_port = 21            # 设置监听FTP服务的端口号
    write_enable = YES           # 是否启用写入权限(上传、删除文件)
    download_enable = YES           # 是否允许下载文件
    dirmessage_enable = YES        # 用户切换进入目录时,显示.message文件
    xferlog_enable = YES           # 启用日志文件,记录到/var/log/xferlog
    xferlog_std_format = YES         # 启用标准的xferlog日志格式,禁用此项将使用vsftpd自己的格式
    connect_from_port_20 = YES       # 允许服务器主动模式(从20端口建立数据连接)
    pasv_anable = YES             # 允许服务器被动模式
    pasv_max_port = 24600          # 设置被动模式服务器的最大端口号
    pasv_min_port = 24500           # 设置被动模式服务器的最小端口号
    pam_service_name = vsftpd         # 用户认证的PAM文件设置(/etc/pam.d/vsftpd.vu)
    userlist_enable = YES           # 是否启用user_list列表文件
    userlist_deny = YES           # 是否禁用user_list中的用户
    max_clients = 0               # 限制并发客户端连接数
    max_per_ip = 0               # 限制同一IP地址的并发连接数
    tcp_wrappers = YES             # 是否启用tcp_wrappers主机访问控制
    chown_username = root           # 表示匿名用户上传的文件的拥有人是root,默认关闭
    ascii_upload_enable = YES         # 表示是否允许用户可以上传一个二进制文件,默认是不允许的
    ascii_download_enable = YES        # 这个是代表是否允许用户可以下载一个二进制文件,默认是不允许的
    nopriv_user = vsftpd           # 设置支撑 vsftpd服务的宿主用户为手动建立的vsftpd用户
    async_abor_enable = YES           # 设定支持异步传输功能
    ftpd_banner = Welcome to Awei FTP servers     # 设定vsftpd的登陆标题
    guest_enable = YES             # 设置启用虚拟用户功能
    guest_username = ftpuser           # 指定虚拟用户的宿主用户
    virtual_use_local_privs = YES         # 设定虚拟用户的权限符合他们的宿主用户
    user_config_dir = /etc/vsftpd/vconf     # 设定虚拟用户个人vsftpd的配置文件存放路径
    

      

    七、为用户建立独立的配置目录及文件

    [root@localhost vsftpd]# mkdir /etc/vsftpd/user_dir
    [root@localhost vsftpd]# ls
    ftpusers  user  user.db  user_dir  user_list  vsftpd.conf  vsftpd_conf_migrate.sh
    [root@localhost vsftpd]# cd /etc/vsftpd/user_dir
    [root@localhost vsftpd]# vim zhao
    local_root=/etc/vsftpd/data   # 虚拟用户数据的存放路径

    八、创建虚拟用户数据存放目录

    [root@localhost user_dir]# cd ../
    [root@localhost vsftpd]# mkdir data
    [root@localhost vsftpd]# chmod 777 data/
    [root@localhost vsftpd]# ll
    drwxrwxrwx 2 root root    84 11月 13 15:43 data

    # 在重启vsftpd服务
    systemctl restart vsftpd

    测试

    先使用匿名登录

     

    接下来使用虚拟用户登陆

     

     

  • 相关阅读:
    基本内置类型
    多维数组
    数组
    迭代器
    标准库类型 vector
    标准库类型 string
    运算符优先级表
    类型转换
    sizeof 和逗号运算符
    位运算符
  • 原文地址:https://www.cnblogs.com/Axianba/p/13994737.html
Copyright © 2020-2023  润新知