Chinaunix首页 | 论坛 | 博客
  • 博客访问: 299468
  • 博文数量: 58
  • 博客积分: 2763
  • 博客等级: 少校
  • 技术积分: 731
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-04 19:07
文章分类

全部博文(58)

文章存档

2011年(55)

2009年(1)

2008年(2)

分类: LINUX

2011-08-17 20:15:13

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账户访问测试,会出现如下提示:你选择匿名登录是行不通的。只有输入用户名密码之后才能登录。并且你也可以上传与下载。
 
 
 
 
 
 
 
 
 
阅读(1337) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

unix华子2011-08-27 23:36:40


不错!!!