共享服务-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状态码
状态码:
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