ftp:file transper protocol
使用端口:21 命令控制 ,一直处于连接状态
20 数据传输 ,只有当有数据传输时,才建立新连接
ftp的用户类型;
1)匿名用户:anonymous或ftp
2)本地用户:账号密码等信息保存在passwd、shadow文件中。
3)虚拟用户:此用户不能登录系统,只是获得某些服务。
使用独立的账号密码数据文件。数据可以放在db,mysql中
常见的FTP服务器程序
window:IIS,Serv-U
linux:wu-ftpd,proftpd,pureftpd
红帽官方:vsftpd(Very Secure FTP Daemon)
常见的FTP客户端程序
ftp命令
CuteFTP、FlashFXP、LeapFTP、Filezilla
gftp、kuftp
安装ftp:#yum install vsftpd
#cd /etc/vsftpd
有两个文件用于定义用户控制列表,ftpusers和user_list
ftpusers 表示禁止登陆ftp的用户列表
user_list 表示允许登陆ftp的用户列表
vsftp的配置文件:vsftpd.conf
anonymous_enable=YES //表示允许使用匿名登录
local_enable=YES //表示允许本地用户登录
write_enable=YES //表示允许写
local_umask=022 //创建文件时的掩码
anon_upload_enable=YES //允许上传
anon_mkdir_write_enable=YES //允许创建目录
chroot_list_enable //用户只能在限定的目录中操作。
userlist_enable //是否开启控制列表
userlist_deny //对列表中的用户的设置
OK,下面我就重点来介绍一下,基于虚拟用户的vsftpd服务器的构建
---------------------------------------------------------------------------------------------
1.建立虚拟FTP用户的帐号数据库文件
建立虚拟用户的账户名、密码列表
奇数行为帐号名,偶数行为上一行中帐号的密码。也就是说一行一个账号,一行一个密码,依次排列
转化为Berkeley DB格式的数据文件
db_load 转换工具
需安装 db4-utils-4.3.29-9.fc6.i386.rpm 软件包
#yum install vsftp
#vim /etc/vsftpd/vusers.list
hanlenry
123
#cd /etc/vsftpd/
#yum -y db4-utils
#db_load -T -t hash -f vuser.list vusers.db
#file vusers.db
#chmod 600 /etc/vsftpd/vusers.*
虚拟用户我添加了一个,你可以在vusers.list 中添加多个,一行一个用户名,一行一个密码。依次排列。
---------------------------------------------------------------------------------------------
2.创建FTP根目录及虚拟用户映射的系统用户
#mkdir /var/ftproot
#useradd -d /var/ftproot -s /sbin/nologin virtual
#chmod 755 /var/ftproot
---------------------------------------------------------------------------------------------
3.建立支持虚拟用户的PAM认证文件
# vim /etc/pam.d/vsftp.vu
内容: #%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
--------------------------------------------------------------------------------------------
4.在vsftpd.conf文件中添加支持配置
#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 ,你需要将之前的pam_service_name注销掉。
---------------------------------------------------------------------------------------------
5.为个别虚拟用户建立独立的配置文件
在vsftpd.conf文件中添加用户配置目录支持
user_config_dir=/etc/vsftpd/vusers_dir
为用户建立独立的配置目录及文件
配置文件名与用户名同名
#mkdir /etc/vsftpd/vusers_dir/
#cd /etc/vsftpd/vusers_dir/
#touch hanlenry
#vim hanlenry
anon_upload_enable=YES
anon_mkdir_write_enable=YES
--------------------------------------------------------------------------------------------
6.重新加载vsftpd配置
service vsftpd restart
---------------------------------------------------------------------------------------------
7.使用虚拟FTP账户访问测试,会出现如下提示:你选择匿名登录是行不通的。只有输入用户名密码之后才能登录。并且你也可以上传与下载。
阅读(1365) | 评论(1) | 转发(0) |