美文网首页
Centos7 vsftpd 安装与配置

Centos7 vsftpd 安装与配置

作者: dimdark | 来源:发表于2018-04-24 11:25 被阅读0次

    • vsftpd 的安装

    由于系统可能自带安装好了 vsftpd, 故在安装前要查看一下:

    rpm -q vsftpd
    # 或者
    vsftpd -v
    
    查看vsftpd安装情况
    vsftpd 的安装命令:
    yum install vsftpd -y
    
    • vsftpd 的启动
    systemctl start vsftpd.service
    
    • 防火墙开放vsftpd服务端口
    cd /usr/lib/firewalld/services
    vim ftp.xml
    

    写入如下内容:

    <?xml version="1.0" encoding="utf-8"?>
    <service>
      <short>FTP</short>
      <description>FTP is a protocol used for remote file transfer. If you plan to make your FTP server publicly available, enable this option. You need the vsftpd package installed for this option to be useful.</description>
      <port protocol="tcp" port="20" />
      <port protocol="tcp" port="21"/>
      <module name="nf_conntrack_ftp"/>
    </service>
    

    然后在终端上键入命令:

    firewall-cmd --add-service=ftp --zone=public --permanent
    firewall-cmd --reload
    

    查看防火墙是否开放ftp服务端口:

    firewall-cmd --list-services
    
    • vsftpd 的配置

    查看vsftpd的安装位置:

    whereis vsftpd
    
    vsftpd的安装位置

    vsftpd.conf 配置文件:

    • 配置文件的格式:
      vsftpd.conf 的内容十分简单, 每一行即为一项设置, 若是空白行或以#开头的一行, 则为注释内容, 主要的内容只有一个格式: option=value (注意等号的两边不能加空格)

    可以在终端键入: man 5 vsftpd.conf 来查看详细的vsftpd配置文件说明;

    • 常用配置
    #
    # 匿名用户的设置   
    #
    
    # 设置是否允许匿名用户登录, 默认为YES(允许)
    anonymous_enable=YES
    
    # 设置匿名登录的使用者的名称, 默认值为ftp
    ftp_username=ftp
    
    # 匿名登录时, 所登入的目录
    # 默认值为/var/ftp(注意: ftp目录的权限不能为777, 即匿名用户的家目录的权限不能为777)
    anon_root=/var/ftp
    
    # 若启动该功能, 则匿名登录时不会询问密码, 默认为NO
    no_anon_password=NO
    
    # 是否允许匿名登入者下载可阅读的档案(文件), 默认为YES
    anon_world_readable_only=YES
    
    # 全局设置参数, 表示是否允许登录用户具有写权限, 默认为YES
    write_enable=YES
    
    # 是否允许匿名用户具有上传文件(非目录)的权限
    # 注意: 只有write_enable=YES时此选项才有效, 并且匿名用户必须有对所在目录的写入权
    anon_upload_enable=NO
    
    # 是否允许匿名用户具有新增目录的权限
    # 注意: 只有write_enable=YES时此选项才有效, 并且匿名用户必须有对上层目录的写入权
    anon_mkdir_write_enable=NO
    
    # 是否允许匿名用户具有除上传或者创建目录之外的权限, 比如: 删除或重命名操作
    # 注意: 
    # 如果anon_upload_enable=NO,则匿名用户不能上传文件,但可以删除或者重命名已经存在的文件
    # 如果anon_mkdir_write_enable=NO,则匿名用户不能上传或者新建文件夹,但可以删除或者重命名已经存在的文件夹
    anon_other_write_enable=NO
    
    # 设置是否改变匿名用户上传文件(非目录)的属主, 默认值为NO
    # 若chown_uploads=YES时需要指定chown_username的值
    chown_uploads=NO
    
    # 设置匿名用户上传文件(非目录)的属主名, 默认值为root, 但不建议设置为root
    # 即: 经常要类似下面一样设置
    # chown_uploads=YES
    # chown_username=dimdark # no root
    chown_username=root
    
    # 设置匿名用户新增或上传文件(档案)时的umask值, 默认值为077
    anon_umask=077
    
    #
    # 本地用户的设置   
    #
    
    # 是否允许本地用户登录, 默认值为YES
    local_enable=YES
    
    # 本地用户登录时, 将被更换到定义的目录下, 默认值为各用户的家目录
    local_root=$HOME
    
    # 感觉这两个参数的作用是相同, 这里不太清楚
    # 本地用户新增文件(档案)的umask值, 默认值为022
    local_umask=022
    # 
    file_open_mode=0755
    
    #
    # 欢迎语的设置
    #
    
    # 若启动这个选项, 那么使用者第一次进入一个目录时, 会检查该目录下是否有.message这个文件(档案)
    # 如果有, 则会出现此档案的内容, 通常这个档案会放置欢迎话语或是对该目录的说明, 默认值为YES
    dirmessage_enable=YES
    
    # 设置目录消息文件, 可将要显示的信息写入该文件, 默认值为 .message
    message_file=.message
    
    # 当用户登录时, 会显示此设定所在的档案内容, 通常为欢迎话语或是说明
    # 默认值为无. 如果欢迎信息较多,则使用该配置项
    banner_file=/etc/vsftpd/banner
    
    # 定义欢迎话语的字符串, banner_file是文件(档案)的形式, 而ftpd_banner 则是字符串的形式
    ftpd_banner=Welcome to dimdark FTP server
    
    #
    # 控制是否允许用户切换到上级目录
    #
    
    #
    # chroot_local_user = NO && chroot_list_enable = NO
    # 所有的用户均可以切换到其他目录
    #
    # chroot_local_user = NO && chroot_list_enable = YES
    # 在/etc/vsftpd/chroot_list文件中列出的用户, 不能切换到其他目录,未在文件中列出的用户, 可以切换到其他目录
    #
    # chroot_local_user = YES && chroot_list_enable = NO
    # 所有的用户均不能切换到其他目录
    #
    # chroot_local_user = YES && chroot_list_enable = YES
    # 在/etc/vsftpd.chroot_list文件中列出的用户, 可以切换到其他目录, 未在文件中列出的用户, 不能切换到其他目录
    #
    chroot_local_user=NO
    chroot_list_enable=NO
    chroot_list_file=/etc/vsftpd/chroot_list
    
    #
    # 数据传输模式的设置
    # FTP在传输数据时, 可以使用二进制方式或者ASCII模式来上传或下载数据
    #
    
    # 设置是否启用ASCII 模式上传数据
    ascii_upload_enable=NO
    # 设置是否启用ASCII 模式下载数据
    ascii_download_enable=NO
    
    #
    # 访问速率设置
    #
    
    # 设置匿名登入者使用的最大传输速度, 单位为B/s, 0 表示不限制速度, 默认值为0
    anon_max_rate=0
    
    # 设置本地用户使用的最大传输速度, 单位为B/s, 0 表示不限制速度, 默认值为0
    local_max_rate=0
    
    #
    # 超时时间设置
    #
    
    # 设置建立FTP连接的超时时间, 单位为秒, 默认为60
    accept_timeout=60
    
    # PORT 方式下建立数据连接的超时时间, 单位为秒, 默认为60
    connect_timeout=60
    
    # 设置建立FTP数据连接的超时时间, 单位为秒, 默认值为120(PASV模式)
    data_connection_timeout=120
    
    # 设置多长时间不对FTP服务器进行任何操作, 则断开该FTP连接, 单位为秒, 默认值为300
    idle_session_timeout=300
    
    #
    # 日志文件的设置
    #
     
    # 是否启用上传/下载日志记录, 如果启用, 则上传与下载的信息将被完整纪录在xferlog_file 所定义的档案中, 默认开启
    xferlog_enable=YES
    
    # 设置日志文件名和路径, 默认值为/var/log/xferlog
    xferlog_file=/var/log/xferlog
    
    # 如果启用, 则日志文件将会写成xferlog的标准格式, 默认禁用
    xferlog_std_format=NO
    
    # 若启用此选项, 所有的FTP请求和响应都会被记录到日志中
    # 启用此选项时, xferlog_std_format不能被激活, 这个选项有助于调试, 默认值为NO
    log_ftp_protocol=NO
    
    #
    # ftp的工作方式与端口设置
    # ftp的工作方式:
    #    PORT MODE(主动模式)   PASV MODE(被动模式)
    #
    
    # 设置FTP服务器建立连接所监听的端口, 默认为21
    listen_port=21
    
    # 指定FTP使用20端口进行数据传输, 默认为YES
    connect_from_port_20=YES
    
    # 设置在PORT方式下, FTP数据连接使用的端口, 默认为20
    ftp_data_port=20
    
    # 若设置为YES, 则使用PASV工作模式; 若设置为NO, 则使用PORT模式; 默认为YES, 即使用PASV工作模式;
    pasv_enable=YES
    
    # 在PASV工作模式下, 数据连接可以使用的端口范围的最大端口, 0 表示任意端口, 默认为0
    pasv_max_port=0
    
    # 在PASV工作模式下, 数据连接可以使用的端口范围的最小端口, 0 表示任意端口, 默认为0
    pasv_min_port=0
    

    相关文章

      网友评论

          本文标题:Centos7 vsftpd 安装与配置

          本文链接:https://www.haomeiwen.com/subject/yqgklftx.html