zoukankan      html  css  js  c++  java
  • Centos7搭建FTP站点

    Centos7搭建FTP站点

    vsftpd安装

    安装vsftpd

    yum install vsftpd -y
    

    设置开机自启

    systemctl enable vsftpd
    

    服务启动

    systemctl start vsftpd
    

    查看服务状态

    systemctl status vsftpd
    

    vsftpd服务状态图

    从服务状态可以看到,ftp服务已经处于running状态,同时可以看到ftp服务的配置文件。

    服务重启

    systemctl restart vsftpd
    

    在修改了配置文件之后,需要重启服务。

    vsftpd准备

    我们可以使用root,不过推荐创建专门的ftp用户,保证服务器数据安全。

    创建用户

    adduser ftpuser
    

    设置密码

    passwd ftpuser
    

    创建目录

    可以直接使用已经存在的目录,这里单独创建一个新的目录进行共享,同时创建两个测试文件。

    mkdir -p /var/vsftpd/ftp
    touch /var/vsftpd/ftp/001.txt
    touch /var/vsftpd/ftp/002.pdf
    

    权限配置

    将共享目录的拥有者设置为ftpuser。

    chown -R ftpuser:ftpuser /var/vsftpd/ftp
    

    vsftpd配置

    前面通过服务状态可以看到配置文件路径,通过路径查看配置文件。

    常用配置

    #是否容许匿名登录FTP服务器。
    anonymous_enable=NO
    #允许本地用户登录FTP服务器。
    local_enable=YES
    # 数据传输中断超时时间
    idle_session_timeout=600
    # 数据连接超时时间
    data_connection_timeout=120
    

    日志配置

    # 开启操作日志记录
    xferlog_enable=YES
    # 日志路径
    xferlog_file=/var/log/vsftpd.log
    # 日志格式使用标准xfer
    xferlog_std_format=YES
    

    黑名单配置

    # 开启email黑名单
    deny_email_enable=YES
    # email黑名单文件路径
    banned_email_file=/etc/vsftpd/banned_emails
    # userlist中用户能否登录
    userlist_enable=YES
    # userlist中用户是否拉黑,与上面配置有一即可
    userlist_deny=YES
    

    其它配置

    #允许进行写操作
    write_enable=YES
    #权限配置参数,具体看补充说明
    local_umask=022
    # 允许匿名用户上传文件
    anon_upload_enable=YES
    # 允许匿名用户创建新的目录
    anon_mkdir_write_enable=YES
    # 当用户进入某个目录时,会显示该目录需要注意的内容
    dirmessage_enable=YES
    # ftp服务监听端口
    listen_port=21
    # 主动模式端口使用20
    connect_from_port_20=YES
    # 设定是否允许 改变 上传文件的属主
    chown_uploads=YES
    # 设置想要改变的上传文件的属主,whoever表任何人
    chown_username=whoever
    # vsftpd运行的非特权用户
    nopriv_user=ftpsecure
    # 开启abor异步请求
    async_abor_enable=YES
    # 启用以ascii类型上传
    ascii_upload_enable=YES
    # 启用以ascii类型下载
    ascii_download_enable=YES
    # frp欢迎语
    ftpd_banner=Welcome to blah FTP service
    # 锁定用户只能在自己的目录下
    chroot_list_enable=YES
    # 用户锁定名单文件
    chroot_list_file=/etc/vsftpd/chroot_list
    # 容许目录递归查询
    ls_recurse_enable=YES
    # 以独立模式运行,由vsftpd自己监听和处理连接请求
    listen=YES
    # 支持ipv6
    listen_ipv6=YES
    # 设置 PAM 外挂模块提供的认证服务所使用的配置文件名 ,即/etc/pam.d/vsftpd文件,此文件中file=/etc/vsftpd/ftpusers字段,说明了PAM模块能抵挡的帐号内容来自文件/etc/vsftpd/ftpusers中
    #pam_service_name=vsftpd
    
    # 服务器使用 tcp_wrappers 作为主机访问控制方式
    tcp_wrappers=YES
    # 最大客户端连接数
    max_client=100
    # 通ip最大连接数,0表不限制
    max_per_ip=1
    # 本地用户最大传输速度单位b/s
    local_max_rate=1000
    # 匿名用户最大传输速度
    ano n_max_rate=100
    
    

    补充说明

    • umask是在linux中常见的一个东西,它其实是一个掩码。当然,也有umask这样一个命令,它是对用户建立的文件的默认属性的定义。该 定义为:
      假设umask为022,则对于一个文件夹的话,它的默认属性为 777-022=755,这也就是我们平时建立文件夹的权限。而对于一般的文件的话,则是用 666-022=644.

    ftp数字代码

    正常代码

    • 110 重新启动标记应答
    • 120 服务在多久时间内ready
    • 125 数据链路端口开启,准备传送
    • 150 文件状态正常,开启数据连接端口
    • 200 命令执行成功
    • 202 命令执行失败
    • 211 系统状态或是系统求助响应
    • 212 目录的状态
    • 213 文件的状态
    • 214 求助的讯息
    • 215 名称系统类型
    • 220 新的联机服务 ready
    • 221 服务的控制连接端口关闭,可以注销
    • 225 数据连结开启,但无传输动作
    • 226 关闭数据连接端口,请求的文件操作成功
    • 227 进入 passive mode
    • 230 使用者登入
    • 250 请求的文件操作完成
    • 257 显示目前的路径名称

    错误码

    • 331 用户名称正确,需要密码
    • 332 登入时需要账号信息
    • 350 请求的操作需要进一部的命令
    • 421 无法提供服务,关闭控制连结
    • 425 无法开启数据链路
    • 426 关闭联机,终止传输
    • 450 请求的操作未执行
    • 451 命令终止 : 有本地的错误
    • 452 未执行命令 : 磁盘空间不足
    • 500 格式错误,无法识别命令
    • 501 参数语法错误
    • 502 命令执行失败
    • 503 命令顺序错误
    • 504 命令所接的参数不正确
    • 530 未登入
    • 532 储存文件需要账户登入
    • 550 未执行请求的操作
    • 551 请求的命令终止,类型未知
    • 552 请求的文件终止,储存位溢出
    • 553 未执行请求的的命令,名称不正确。
    作者:红雨
    出处:https://www.cnblogs.com/52why
    微信公众号: 红雨python
  • 相关阅读:
    设计模式 创建型 抽象工厂
    mysql 案例 ~ 分析执行完的大事务
    mysql 查询优化案例汇总
    mysql 原理 ~ innodb恢复机制
    mysql 原理~ 乐观锁和悲观锁
    mysql 原理 ~ 常规锁
    mysql 5.7 ~ 新特性
    mysql 原理 ~ checkpoint
    mysql原理~undo管理
    mysql原理~undo
  • 原文地址:https://www.cnblogs.com/52why/p/15251040.html
Copyright © 2011-2022 走看看