FTP简介:
FTP 协议是目前最长用的网络文件传输协议,FTP协议从出现到如今已经有40年历史了.
此协议传输是基于明文.为C/S构架的协议.
传输时使用两个端口,分别为21端口和20端口.基于TCP链接.
21端口用于命令传输 (命令连接一直保持活动状态)
20端口用于数据传输 (可同时存在多个链接)
服务器两种数据传输模式: 模式由客户端决定
1.主动模式
2.被动模式数据库
登录的用户类型:
1.匿名用户 : anonymous 以 ftp 用户身份登录
2.本地用户 : 及帐号密码信息保存在passwd,shadow中的用户.
3.虚拟用户 : 后面有详细介绍.vim
常见的FTP服务器:
IIS , Serv-U (windows上)
wu-ftpd, proftpd (Linux上)
pureftpd ,proftpd功能强
vsftpd(Very Secure FTP Daemon) Redhat上默认,安全性高,但功能少
常见的客户端:ftp,lftp, gftp, fliash fxp, cuteftpwindows
#这里以vsftpd为基础介绍安装配置FTP服务器:安全
vsftpd以ftp用户的身份运行.ftp用户的家目录位于:/var/pub
安装:
1.配置好yum源
2.yum install vsftpd
启动:
server vsftpd start
[此时ftp服务应经可使用了,需共享的文件复制到/var/pub/便可]服务器
配置:vsftpd 的配置文件在目录/etc/vsftpd/ 下
1.主配置文件:/etc/vsftpd/vsftpd.conf
2.用户控制文件:
/etc/vsftpd/ftpusers :拒绝访问列表
/etc/vsftpd/user_list :根据用户配置决定
主配置文件中经常使用配置选项:
max_clients 定义用户最大链接数
max_per_ip 定义一个IP的最大链接数
chroot_localuser 把全部用户锁到家目录
anonymous_enable=NO 匿名用户登录
pam_service
userlist_enable=YES
userlist_deny=YES 网络
vsftpd的高级配置:
虚拟用户的配置使用: [注:配置后本地用户将没法登录]
基本步骤:
1.创建虚拟FTP用户的账号数据库文件
2.建立FTP根目录及虚拟用户映射的系统用户
3.创建支持虚拟用户的PAM认证文件
4.在vsftpd.conf文件中添加支持配置
5.为个别虚拟用户创建独立的配置文件
6.从新加载vsftpd配置
7.使用虚拟FTP帐户访问测试ide
一.创建帐号数据库
1.vim /etc/vsftpd/vusers.list 目录可自定义
mike
123
john
321
2.cd /etc/vsftpd/
3.bd_load -T -t hash -f vusers.list vusers.db ( yum install db4-utils)
4. chmod 600 vusers.* (为了安全更改权限)
二.建立FTP根目录及虚拟用户映射的系统用户
1.mkdir /var/ftproot
2.useradd -d /var/ftproot -s /sbin/nologin virtual
3.chmod 755 /var/ftproot
4.chown virtual:virtual /var/ftproot (*此步如不配置,登录后操做会报权限错误)
三.创建支持虚拟用户的PAM认证文件
1.vim /etc/pam.d/vsftpd.vu
写入如下内容:
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
↑
对应第一步创建的vusers.db
四.在vsftpd.conf文件中添加支持配置
1.vim /etc/vsftpd/vsftpd.conf
配置或添加如下内容:
anonymous_enable=NO --此项更改
local_enable=YES
write_enable=YES
anon_umask=022 --此三项默认应该有
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu --此三项需添加测试
五.为个别虚拟用户创建独立的配置文件
1.vim /etc/vsftpd/vsftpd.conf
添加以下内容:
user_config_dir=/etc/vsftpd/vusers_dir ("="后为定义的配置文件目录)
2.mkdir /etc/vsftpd/vusers_dir (创建上面定义的目录)
3.cd /etc/vsftpd/vusers_dir (创建配置文件)
touch mike (创建mike配置文件,为空)
vim john (创建并编辑配置文件)
在john配置文件中添加以下内容:
anon_upload_enable=YES
anon_mkdir_write_enable=YESui
六.从新加载vsftpd配置
1.service vsftpd reload
七.使用虚拟FTP帐户访问测试
测试结果应为:
1. mike用户能够登陆,并能够浏览、下载文件,但没法上传
2. john用户能够登陆,并能够浏览、下载文件,也能够上传
3.匿名用户或其余系统用户将不能登陆
server