- 1、搭建vsftpd,并实现虚拟用户
- 2、简述iptales四表五链及详细介绍iptables命令使用方法
搭建vsftpd,并实现虚拟用户
**文件传输协议FTP:File Transfer Protocol 早期的三个应用级协议之一 **
基于C/S结构
**双通道协议:**数据和命令连接
**数据传输格式:**二进制(默认)和文本
**两种模式:**服务器角度
主动(PORT style):服务器主动连接
命令(控制):客户端:随机port — 服务器:tcp21
数据:客户端:随机port —服务器:tcp20
被动(PASV style):客户端主动连接
命令(控制):客户端:随机port — 服务器:tcp21
数据:客户端:随机port —服务器:随机port
服务器被动模式数据端口示例:
227 Entering Passive Mode (192,168,175,138,224,59)
服务器数据端口为:224*256+59
面试题经常问,FTP主动模式和被动模式
**1.主动模式,**服务器主动链接客户端,
主动模式,命令通道用的是固定TCP 21端口
**2.被动模式,**客户端主动链接服务器
被动模式,用的是随机端口
无论主动模式还是被动模式,命令端口用的都是固定的tcp21端口
理论上FTP双通道走,效率更高一些,但是因为双通道的原因,(涉及到防护墙,所以不如http协议应用更加普遍)
http不仅可以做网站,还可以把文件共享出来
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
wget 不仅支持ftp还支持http,还可以定义下载速度和代理
servu 是在windows里,需要付费的
ftp 不支持补全,lftp 支持补全,还带有颜色
lftp ** 和ftp** 是交互式工具,不方便使用脚本
curl 命令其实也可以下载,可以编译一个一键安装脚本,用curl命令显示,顺便用管道传给bash就可以执行了
如:** curl http://192.168.30.27/f1.sh |bash **
ftp -A ftpserver port -A主动模式 –p 被动模式
lftp –u username ftpserver
lftp username@ftpserver
lftpget ftp://ftpserver/pub/file lftpget不是交互式,,而是直接下载好了
gftp: GUI centos5 最新版2.0.19 (11/30/2008)
filezilla,CuteFtp,FlashFXP,LeapFtp
filezilla 也是开源的,windows可以装,装了以后充当客户端,甚至可以支持ssh.既是ftp客户端又是ssh客户端
IE ftp://username:password@ftpserver
IE 浏览器也可以当ftp客户端,但是浏览器下载资源比较容易崩溃
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