Pure-ftpd 详细设置步骤-不需要数据库

老规矩,转的。原址在这里
http://www.it.com/html/diannaojichu/fuwuqipeizhi/2010/0614/2195.html
`
使用pure-ftp最头疼的估计是要使用mysql做数据库和使用web管理了

  其实就算没有装或不使用mysql也一样可以顺利且简便的使用pure-ftp搭建ftp服务器

  下面介绍一下简单配置的经过

  1、当然是取得pure-ftp了,直接在线安装,命令:

  $ sudo apt-get install pure-ftpd 即可安装。

  2、测试:当安装好以后没有进行配置的时候,ftp指向的默认目录是/home文件夹,如果使用ftp客户端软件链接127.0.0.1:21,提示你输入用户名和密码,则ftp已经安装好了。

  3、配置:

  1)了解pure-ftpd调用配置文件的方式。pure-ftp不是调用某一个配置文件,而是调用/etc/pure-ftpd/conf/中的一堆文件进行配置加载,这和samba,apache配置有所区别。每一个配置文件其实只有一行,要么yes,要么no,或者1,0等等,比较方便定义。

  2)开始进行基本配置。

  进入到/etc/pure-ftpd/conf中,这里记下目录和目录中文件的权限,分别是755和644。

  列目录为以下情况,只有 AltLog MinUID NoAnonymous PAMAuthentication PureDB UnixAuthentication等文件,这些文件都是配置文件。光有这些还不够,因此自己还要添加其他配置文件。

  编辑基本配置,如监听21端口,使用某IP地址:

  $ su #切换到root

  (如果没有设置root账号是没有办法切换的,可以不切换,回到上层菜单将conf/的(包含子目录)权限设置为777,$ sudo chmod -R 777 conf/ 即可使用nano编写,编写玩毕之后恢复目录755及文件644的属性),或者对shell脚本熟悉的可以使用sudo sh -c “echo ‘xxx’ > XXX” 来编写添加配置文件。以下均使用root权限编写。

  监听端口

  # echo ,21 > Bind **添加bind 21端口监听 如果没有root权限则可以这样 $ sudo nano Bind 然后在其中编辑,21后保存加入,或 $ sudo sh -c “echo ‘,21’ > Bind” 来添加

  # echo 192.xx.xx.22 > ForcePassiveIP **添加IP

  # echo 4500 4600 > PassivePortRange **添加端口范围

  字符编码及文件设置

  文件FSCharset中设定为UTF-8,这样有的在使用浏览器ftp的时候会出现中文乱码,增加一个客户端字符编码文件就可以解决

  # echo gbk > ClientCharset **(或gbk2132) 都可以

  # echo yes > KeepAllFiles **保留所有文件,用户不能删除文件

  # echo yes > AutoRename **自动更名,防止文件被覆盖

  推荐的安全配置

  #echo yes > ChrootEveryone **限制用户root权限

  # echo yes > ProhibitDotFilesRead **可以读取以.开头的文件

  # echo yes > ProhibitDotFilesWrite **可以写以.开头的文件

  # echo yes > NoChmod **不允许更改权限

  # echo yes > BrokenClientsCompatibility **多种兼容性客户端

  网络设置

  # echo 4 > MaxClientsPerIP **每个IP最大连接数

  # echo 20 > MaxClientsNumber **客户端同时链接最大数

  3)设置认证方式,将unix和PAM认证都设置为“no“,这一步中本身目录中就有这两个文件,只要修改其字符就可以了,unix原来就是no,用nano将PAM中的yes改为no就可以。如果没有这两个文件,则自己添加。

  # echo no > PAMAuthentication

  # echo no > UnixAuthentication

  # echo /etc/pure-ftpd/pureftpd.pdb > PureDB **建立pure-ftp的认证文件 这句可以使用nano建立PureDB文件,其内容为/etc/pure-ftpd/pureftpd.pdb

  # ln -s /etc/pure-ftpd/conf/PureDB ../auth/50pure **建立认证链接文件

  创建用户和指定ftp目录

  # groupadd -g 2001 ftpgroup **增加GID为2001的ftpgroup组

  # useradd -u 2001 -s /bin/false -d /dev/null -c “pureftpd user” -g ftpgroup ftpuser **增加ftpuser用户,切没有/bin的shell操作与/dev的设备操作权

  使用pure-pw命令添加虚拟用户

  # pure-pw useradd yourname -u ftpuser -d /yourname/ftp/ **增加(yourname)用户并指定ftp目录为 /yourname/ftp/ 这里根据实际情况自行修改

  回车后就提示输入密码(输入2次)

  # pure-pw mkdb **添加进认证数据文件

  最后重启pure-ftpd

  # /etc/init.d/pure-ftpd restart

  如果仅仅是单位或定向ftp,则只添加一个账户就可以了,便于管理。如果使用所账户或可以匿名登录的,那就需要使用mysql的数据库来管理,配置也不繁唢。 如果觉得还不够安全可以使用openssl来添加TLS/SSL支持,激活一个私有证书,这样传输内容经过加密,就更安全。

  4)“关于ssl“

  安装: # apt-get install openssl

  # echo 1 > TLS **打开TLS加密

  # openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem **生成加密文件

  # chmod 600 /etc/ssl/private/pure-ftpd.pem **更改加密文件权限

  重启pure-ftpd生效

  5)“关于FXP协议“

  如果只是内网或认证用户使用ftp,则可以打开FXP协议。由于FXP协议很不安全,不建议外网或允许匿名访问的ftp服务器打开FXP协议支持。

  4、至此一个玩整的ftp服务器就架构好了,可以使用任何一种ftp客户端登录
使用。多用户还可以分别指定其目录或自动生成目录,设置目录UMASK等等,总体
来说 功能还是很强大的。
`