手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表Tag:pure-ftpd

备份:最简单的pure-ftp配置搭建ftp服务器

又是google来的一篇备份性的文章,经测试成功了。所以备份下来:http://hi.baidu.com/sunnynatinc/blog/item/bd50e5ced55ed80e93457e38.html
OK,上原文:

使用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 > BrokenClients
Compatibility       ****多种兼容性客户端

网络设置
# 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等等,总体来说 功能还是很强大的。

------------
果然是超级简单的FTP服务器

Tags: pure-ftpd, vsftpd