当前位置: 首页 > news >正文

共享服务-FTP基础(一)

 

介绍:文件传输协议FTP

两种模式:服务器角度

主动(PORT style):服务器主动连接

命令(控制):客户端:随机port --- 服务器:tcp21

数据:客户端:随机port ---服务器:tcp20

被动(PASV style):客户端主动连接

命令(控制):客户端:随机port --- 服务器:tcp21

数据:客户端:随机port ---服务器:随机port

FTP软件

FTP服务器:

Wu-ftpd,Proftpd,Pureftpd,ServU,IIS

vsftpd:Very Secure FTP Daemon,CentOS默认FTP服务器

高速,稳定,下载速度是WU-FTP的两倍

ftp.redhat.com数据:单机最多可支持15000个并发

客户端软件:

ftp,lftp,lftpget,wget,curl

ftp -A ftpserver port -A主动模式 –p 被动模式

lftp –u username ftpserver

lftp username@ftpserver

lftpget ftp://ftpserver/pub/file

gftp: GUI centos5 最新版2.0.19 (11/30/2008)

filezilla,CuteFtp,FlashFXP,LeapFtp

IE ftp://username:password@ftpserver

FTP状态码

状态码:

1XX:信息 125:数据连接打开

2XX:成功类状态 200:命令OK 230:登录成功

3XX:补充类 331:用户名OK

4XX:客户端错误 425:不能打开数据连接

5XX:服务器错误 530:不能登录

用户认证

匿名用户:ftp,anonymous,对应Linux用户ftp

系统用户:Linux用户,用户/etc/passwd,密码/etc/shadow

虚拟用户:特定服务的专用用户,独立的用户/密码文件

nsswitch:network service switch名称解析框架

pam:pluggable authentication module 用户认证

/lib64/security /etc/pam.d/ /etc/pam.conf

vsftpd服务:

用户认证配置文件:/etc/pam.d/vsftpd

服务脚本: /usr/lib/systemd/system/vsftpd.service

/etc/rc.d/init.d/vsftpd

配置文件:/etc/vsftpd/vsftpd.conf

vsftpd服务配置

命令端口

listen_port=21

主动模式端口

connect_from_port_20=YES 主动模式端口为20

ftp_data_port=20 (默认) 指定主动模式的端口

被动模式端口范围

linux 客户端默认使用被动模式

windows 客户端默认使用主动模式

pasv_min_port=6000 0为随机分配

pasv_max_port=6010

使用当地时间

use_localtime=YES 使用当地时间(默认为NO,使用GMT)

匿名用户:配置

anonymous_enable=YES 支持匿名用户(默认)

no_anon_password=YES(默认NO) 匿名用户略过口令检查

anon_world_readable_only (默认YES)只能下载全部读的文件

anon_upload_enable=YES 匿名上传,注意:文件系统权限

anon_mkdir_write_enable=YES 匿名建目录

anon_umask=077 指定匿名上传文件的umask

anon_other_write_enable=YES 可删除和修改上传的文件

指定上传文件的默认的所有者和权限

chown_uploads=YES(默认NO)

chown_username=wang

chown_upload_mode=0644

Linux系统用户:配置(备注:用户根有写权限是不行的)

guest_enable=YES 所有系统用户都映射成guest用户

guest_username=ftp 配合上面选项才生效,指定guest用户

local_enable=YES 是否允许linux用户登录

write_enable=YES 允许linux用户上传文件

local_umask=022 指定系统用户上传文件的默认权限

local_root=/ftproot guest用户登录所在目录

禁锢所有系统用户在家目录中

chroot_local_user=YES(默认NO,不禁锢)禁锢系统用户

禁锢或不禁锢特定的系统用户在家目录中,与上面设置功能相反

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

当chroot_local_user=YES时,则chroot_list中用户不禁锢

当chroot_local_user=NO时,则chroot_list中用户禁锢

wu-ftp日志:默认启用

xferlog_enable=YES (默认) 启用记录上传下载日志

xferlog_std_format=YES (默认) 使用wu-ftp日志格式

xferlog_file=/var/log/xferlog (默认)可自动生成

vsftpd日志:默认不启用

dual_log_enable=YES 使用vsftpd日志格式,默认不启用

vsftpd_log_file=/var/log/vsftpd.log(默认)可自动生成

登录提示信息

ftpd_banner=“welcome to mage ftp server"

banner_file=/etc/vsftpd/ftpbanner.txt 优先上面项生效

目录访问提示信息

dirmessage_enable=YES (默认)

message_file=.message(默认) 信息存放在指定目录下.message

转载于:https://www.cnblogs.com/xsuid/p/9536927.html

相关文章:

  • ZYNQ的Linux Linaro系统镜像制作SD卡启动
  • intellij idea 编译 kafka 源码
  • 杂项-Java:Druod Monitor
  • mysql+centos7+主从复制
  • BZOJ1052 [HAOI2007]覆盖问题
  • RabbitMQ消息中介之Python使用
  • Android下的一些命令
  • Xshell连接虚拟机文档教程
  • 2-10 案例4:像素读取写入
  • Python基础之数据类型和变量
  • SpringCloud组件相关
  • 2.进程与程序的关系
  • 【一步一步学习spring】【番外】IOC 设计原理与实现
  • Python 面向对象 2
  • 1344 线型网络
  • Android系统模拟器绘制实现概述
  • C# 免费离线人脸识别 2.0 Demo
  • canvas 高仿 Apple Watch 表盘
  • js作用域和this的理解
  • k8s 面向应用开发者的基础命令
  • Mac转Windows的拯救指南
  • scrapy学习之路4(itemloder的使用)
  • SQL 难点解决:记录的引用
  • SQLServer之创建数据库快照
  • uni-app项目数字滚动
  • XForms - 更强大的Form
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 订阅Forge Viewer所有的事件
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 漂亮刷新控件-iOS
  • 前端_面试
  • 深入浏览器事件循环的本质
  • 使用Swoole加速Laravel(正式环境中)
  • 写代码的正确姿势
  • 一些css基础学习笔记
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 智能合约Solidity教程-事件和日志(一)
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (推荐)叮当——中文语音对话机器人
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • ./configure,make,make install的作用(转)
  • .htaccess 强制https 单独排除某个目录
  • .Net 6.0 处理跨域的方式
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)