Ubuntu Server 10.04下pure-ftpd配置大全

系统 Linux
Pureftpd是一款在多种类Unix上使用并符合GPL协议的原代码开放的软件,顾名思义,它就是一款纯粹的Ftp程序。本文带大家看看Ubuntu Server 10.04下pure-ftpd配置。

Pureftpd是一款快速,高质量,功能齐全的ftp服务器,最重要的是可以支持设置客户端默认编码,Ubuntu Server 10.04下pure-ftpd的配置过程如下。

  在Ubuntu中pure-ftpd是什么样

  Ubuntu/Debian 提供了三个不同的 Pure-FTPd 的 deb 安装包,分别是 pure-ftpd、pure-ftpd-ldap 和 pure- ftpd-mysql,其中 ldap 和 mysql 分别表示 Pure-FTPd 跟 ldap 和 mysql 集成,另外这三个包都依赖于 pure-ftpd-common。如果我们不需要 ldap 和 mysql 的话,选择 pure-ftpd 就可以了。

  配置方式

  不同于其他的多数守护进程(daemon),Pure-FTPd 的配置比较特别:它不读取任何的配置文件,配置选项都是通过命令行参数来实现的。例如:参数 '-H' 被设计为通过避免 DNS 查询来加快服务器的速度。要启用该特性,我们只需要将其加到命令行中: pure-ftpd -H 。备选的长参数也被支持的,下面是一个等价的命令 pure-ftpd --dontresolve

  针对喜欢配置文件的用户,Pure-FTPd 官方给出了一种方案:通过一个封装(wrapper)工具,将配置文件解析并将其转换成命令行参数。首先根据自己的需要编辑配置文件 pure-ftpd.conf,而后通过下面的命令启动 pure-config.pl /etc/pure-ftpd.conf。pure-config.pl 是一个 perl 脚本,它根据配置文件采用合适的命令行选项来调用 pure-ftpd。

  在 Ubuntu/Debian 中,开发人员采用了另外的一种 wrapper 方式:它没有采用单一的配置文件,而是在/etc下建立一个pure-ftpd的目录,其下又有 conf、auth、db 这三个目录和一个名为 pureftpd-alias-dir 的文件。每一个配置选项都以一个文件的形式存在于 /etc/pure-ftpd/conf 目录中,而且是以选项为文件名,选项值为文件内容。例如如果想配置AnonymousOnly=yes(只允许匿名用户),则在 /etc/pure-ftpd/conf 中创建一个名为 AnonymousOnly 的文件,里面只有一行内容:yes。

  在 Ubuntu 中,我们只关注***一种配置方式。

  环境

  1,在一台Ubuntu server 10.4 服务器上安装pure-ftpd配置成FTP服务器

  2,在客户端上用FileZilla Client登录测试

  操作:

  1,安装pure-ftpd

  #sudo apt-get install pure-ftpd

  #sudo netstat –nl

  查看21端口是否已开启。

  2,在FileZilla Client用本地一账号登录,会 出现如下错误

  

 

  解决:在/etc/pure-ftpd/conf下创建DontResolve文件内容为yes,即可解决。这时本地账户已经可以使用FTP服务了。

  3,利用虚拟账户的方式管理用户。

  (1)手动创建主目录

 

  1.   #sudo mkdir /var/ftp  
  2.  
  3.   #sudo mkdir /var/ftp/js  
  4.  

 

  (2)创建组及用户

 

  1.   #sudo groupadd ftpadmins  
  2.  
  3.   #sudo groupadd ftpusers  
  4.  
  5.   #sudo useradd –g ftpadmins –d /dev/null –s /bin/false ftpadmin  
  6.  
  7.   #sudo useradd –g ftpusers –d /dev/null –s /bin/false js  
  8.  

 

  (3)改变相应的访问权限

 

  1.   #sudo chown –R ftpadmin /var/ftp/  
  2.  
  3.   #sudo chmod -R 775 /var/ftp/js  
  4.  

 

  *:为了防止同组中的一个用户删除另一个用户的文件作以下设置

  在/etc/pure-ftpd/conf下建KeepAllFiles文件内容为yes #禁止用户删除文件,TrustedGID组中的除外

  在/etc/pure-ftpd/conf下建TrustedGID文件内容为2002 #管理员组ftpadmins的GID,允许管理员删除文件,此处的2002是ftpadmins的GID

  (4)增加虚拟用户

 

  1.   #sudo pure-pw useradd admin –u ftpadmin –d /var/ftp  
  2.  
  3.   #sudo pure-pw useradd js001 –u js –d /var/ftp/js  
  4.  

 

  这时会在/etc/pure-ftpd/下新增pureftpd.passwd及pureftpd.pdb两个文件

 

  1.   #sudo pure-pw list  
  2.  
  3.   #sudo pure-pw show js001  
  4.  

 

  用以上两个命令查看相应用户信息,更多的pure-pw用法可以 man pure-pw查看

  (5)使虚拟用户生效

 

  1.   #sudo pure-pw mkdb  
  2.  

 

  (6)使用pureDB验证方式,如果没有以下步骤,虚拟用户是无法登录的,会出现530的错误信息。

 

  1.   #cd /etc/pure-ftpd/auth  
  2.  
  3.   #sudo ln –s ../conf/PureDB 60puredb  
  4.  

 

  (7)重启pure-ftpd服务

 

  1.   #sudo /etc/init.d/pure-ftpd restart  
  2.  

 

  总结:pure-ftpd配置完成了,简单的一个FTP搭建起来了。

  可是权限问题来了,在pure-ftpd的配置中没有看到严格的权限设置,相关的有:

  1,如果你的 pure-ftpd 编译时加入了 pure-uploadscript 支持,这个指令将会使 pure-ftpd

  发送关于新上传的情况信息到 /var/run/pure-ftpd.upload.pipe,这样 pure-uploadscript

  就能读然后调用一个脚本去处理新的上传。

  在/etc/pure-ftpd/conf下建CallUploadScript内容为 yes 就会在/var/run下产生pure-ftpd.upload.pipe,pure-ftpd.upload.lock

  这个方法我还没试用。

  2,KeepAllFiles=yes #禁止用户删除文件,TrustedGID组中的除外

  TrustedGID=1001 #管理员组ftpadmins的GID,允许管理员删除文件

  ChrootEveryone=yes #把所有用户限制在其homedir下

  3,把虚拟用户映射到不同的本地用户上,这样就可控制权限了。缺点是要建不同本地组和用户。

通过文章完整的描述,想必大家都知道了Ubuntu Server 10.04下pure-ftpd配置过程。

【编辑推荐】

  1. Ubuntu Server 10.04下pure-ftpd工作方式和原理
  2. Pureftpd 和 mysql 架设FTP服务器
  3. Debian5 LNMP编译安装pureftpd手册
  4. pureftpd ubuntu配置指南
  5. ubuntu 下 Pureftpd 常用配置
  6. Pureftpd小小技巧 让你受益无穷
  7. vsFTPd 服务器初学者指南
  8. Lnmp之Pureftpd管理面板安装教程(图文)
责任编辑:赵鹏 来源: 网络转载
相关推荐

2011-03-02 17:05:23

Ubuntupure-ftpd

2011-03-02 17:54:45

Pure-ftpd

2011-03-03 17:30:45

Pure-FTPd

2011-03-03 17:07:58

Pure-FTPd

2011-03-02 18:00:35

pure-ftpd

2011-03-03 17:00:37

pure-ftpdchroot

2011-03-02 09:26:26

ubuntuproftpd

2011-03-21 16:37:57

2011-04-22 16:14:37

UbuntuMediaWiki

2011-08-29 13:29:29

UbuntuQtE

2011-09-07 16:43:10

ubuntuwindowsXP

2011-03-14 10:30:15

Ubuntu10.04LAMP

2011-08-30 10:37:27

UbuntuJAVA

2011-09-07 10:58:19

UbuntuMySQL

2010-04-29 09:09:13

Ubuntu 10.0

2011-08-30 14:58:26

Ubuntu

2010-03-01 09:02:46

UbuntuWindows 7竞争

2010-07-13 09:46:09

TomcatUbuntu 10.0

2011-08-29 15:23:11

Ubuntuapache

2011-08-30 10:52:47

UbuntuOracle11g
点赞
收藏

51CTO技术栈公众号