Ubuntu安装vsftpd

一、 概述

  • 最近搭建vstftp服务,反复尝试几天不断安装卸载,遇见不少坑,本人linux新手学习,特记录该笔记。使用的的是Ubuntu16.04,安装vsftpd版本为3.0.3.

二、 卸载vsftpd

  • apt-get purge vsftpd (完全卸载及附属相关文件, 建议) apt-get remove vsftpd (卸载软件)

三、 安装vsftpd

  • apt-get install vsftpd (安装)
  • vsftpd –v (查看版本)

四、 配置vsftpd

  • cp /etc/vsftpd.conf /etc/vsftpd.conf.old (备份)

    配置讲解:

  • 设置 vsftpd是否可以独立运行 守护进程从 initscript 开始(默认NO) #设置为NO, 独立运行 #设置为YES,开启监听网络模式

    listen =NO

  • 是否监听IPV6端口

    listen_ipv6=YES

  • 是否允许匿名访问FTP

    anonymous_enable=NO

  • 是否允许本地用户登陆

    local_enable=YES

  • 启用任何形式的FTP命令(CRUD)

    write_enable=YES

  • 本地用户默认上传文件权限为077 你可以将其改为022或其他

    #local_umask=022

  • 是否允许匿名FTP用户上传文件(不允许)

    #anon_upload_enable=YES

  • 是否允许匿名FTP用户创建文件夹(不允许)

    #anon_mkdir_write_enable=YES

  • 是否允许匿名FTP用户创建文件夹(不允许)*

    #anon_mkdir_write_enable=YES

  • 激活目录消息 用户切换目录会发送给他消息

    dirmessage_enable=YES

  • 如果启用 vsftpd将显示目录列表与时间默认GMT

    use_localtime=YES

  • 激活 上传/下载 的日志记录

    xferlog_enable=YES

  • 确保端口传输链接源来自端口20

    connect_from_port_20=YES

  • 上传匿名文件

    #chown_uploads=YES
    #chown_username=whoever

  • 日志
    xferlog_file=/var/log/vsftpd.log

  • 启用 xferlog 默认位置 /var/log/xferlog

    #xferlog_std_format=YES

  • 允许的空闲时间

    #idle_session_timeout=600

  • 允许的数据传输时间

    #data_connection_timeout=120

  • #启用port模式

    #port_enable=YES

  • 启用主动模式

    #pasv_enable=YES
    #pasv_min_port=最小端口
    #pasv_max_port=最大端口

  • 建议您在您的系统上定义一个独特的用户,ftp服务器可以用作完全隔离和非特权用户。

    #nopriv_user=ftpusername

  • 启用此功能服务器能识别异步ABOR请求

    #async_abor_enable=YES

  • 启用ASCII模式 (不要启用会被Dos攻击)

    #ascii_upload_enable=YES
    #ascii_download_enable=YES

  • 设置FTP登陆欢迎语

    ftpd_banner=欢迎来到我的FTP服务器

  • 设置禁止登陆的Emal用户列表

    #deny_email_enable=YES
    # (默认列表文件位置)
    #banned_email_file=/etc/vsftpd.banned_emails

  • Chroot限制模式#####################

  • 将本地用户限制在其主目录(禁止跨目录), 配置为YES.

  • 默认为所有用户启用 chroot 环境在这种情况下

  • #chroot_list_file 定义了不受 chroot 限制的用户列表。

    chroot_local_user=YES

  • 配置ftp根目录权限不可写,否则会登录时报:500 OOPS错误

  • 配置ftp根目录权限可写, vsftp2.3.5之后版本需要手动添加配置

    allow_writeable_chroot=YES

  • 设置chroot_list_file是否有效

    chroot_list_enable=YES

  • 当chroot_list_enable=YES时文件生效,配置chroot_local_user=YES, 配置如果所有用户被限制只能访问家目录,文件内的用户为特权用户,可以不被限制地访问家目录之上的目录, 配置chroot_local_user=NO,所有用户都不被限制,都可以访问上级目录。则该文件内部的用户为被限制的用户,只能访问各自家目录,禁止访问上级目录

    chroot_list_file=/etc/vsftpd.chroot_list

  • 激活内置 -R 选项

    #ls_recurse_enable=YES

  • 定义 sftpd的空目

    secure_chroot_dir=/var/run/vsftpd/empty

  • vsftpd将使用的PAM服务的名称

  • 可选ftp | sftpd | vsftpd

    pam_service_name=sftpd

  • rsa证书位置

    rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem

  • rsa密钥位置

    rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

  • 是否启用SSL

    ssl_enable=NO

  • 设置vsftpd使用utf8编码的文件系统

    utf8_filesystem=YES

  • 是否使userlist_file配置的文件生效

    userlist_enable=YES

  • 设置为YES时,userlist_file指定文件内的用户被禁止连接,类似于ftpusers 设置为NO时,只允许userlist_file指定文件内的用户连接,限制其他一切用户 userlist_deny=NO

  • 文件名和路径可自由指定

    userlist_file=/etc/vsftpd.allowed_users

  • 设置固定目录,在结尾添加。如果不添加这一行
    各用户对应自己的目录,当然这个文件夹自己建

    local_root=/home/uftp/

五、 配置步骤vsftpd

  • 1.根据上述vsftpd.conf配置项,进行配置。

  • 添加一个用户组ftpgroup。

    groupadd ftpgroup
    
  • 添加xx用户归属ftpgroup组

    useradd -g ftpgroup -d /ftp/xiezepeng -M xiezepeng
    
  • -创建对应目录并授权。

    sudo mkdir /ftp
    sudo mkdir /ftp/xiezepeng
    chmod 777 /ftp/xiezepeng
    
  • - 设置对应组用户密码并再次确认。

    password xiezepeng
    
  • * 启动|停止|重启服务。*

    service vstfpd  start | stop | restart
    
  • 检查服务。

  • 查看状态:

    systemctl status vsftpd.service 
    status vsftpd.service
    
  • 查看端口:

    netstat –ntl
    
  • 查看目录:

    whereis vsftpd
    

你可能感兴趣的:(Linux)