网站地图    收藏   

主页 > 系统 > linux系统 >

linux中Pure-FTPd 安装配置笔记 - linux教程

来源:自学PHP网    时间:2014-11-28 23:06 作者: 阅读:

[导读] Pure-FTPd是一款ftp服务器了,它有着高效率和易用性的特点,并且可以安装在不同系统上,下面来给各位介绍linux中Pure-FTPd 安装配置笔记.下载:从官方网站下载最新的稳定版本http://www.pureftpd....

linux中Pure-FTPd 安装配置笔记

Pure-FTPd是一款ftp服务器了,它有着高效率和易用性的特点,并且可以安装在不同系统上,下面来给各位介绍linux中Pure-FTPd 安装配置笔记.

下载:从官方网站下载最新的稳定版本http://www.pureftpd.org/ 其最新版本是1.0.29,下载地址为:http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.29.tar.bz2。

系统环境:CentOS 5.5,PureFTPd 1.0.29

编译安装,代码如下:

# tar -xvjf pure-ftpd-1.0.29.tar.bz2

# cd pure-ftpd-1.0.29

# ./configure --help # 查看编译选项

PureFTPd有很多的编译配置选项,下面就列出部分主要的配置:

--prefix=PREFIX

--with-sysquotas        使用系统磁盘配额 (非虚拟)

--with-altlog           支持选择日志格式(类似Apache)

--with-puredb           支持虚拟用户 (FTP登陆用户而非系统用户)

--with-extauth          支持扩展验证模块

--with-pam              启用PAM验证支持 (默认=禁用)

--with-cookie           启用Cookie支持 (-F 选项)

--with-throttling       支持带宽控制 (默认=禁用)

--with-ratios           支持 上传/下载 速度控制

--with-quotas           支持 .ftpquota 文件(指定磁盘配额使用)

--with-ftpwho           支持pure-ftpwho(查看在线用户的程序)

--with-largefile        支持大于2G的文件

--with-welcomemsg       支持 welcome.msg 向后兼容(已经过时)

--with-uploadscript     上传后允许执行外部脚本 (测试阶段)

--with-virtualhosts     在不同的IP地址提供虚拟服务器功能

--with-virtualchroot    允许在chroot的环境下通过符合连接跳转到外部

--with-diraliases       启用目录别名

--with-nonroot    普通模式或者说是限制模式,如果你在该服务器上没有root权限,那只有启用该项.

--with-peruserlimits    支持每个用户的并发限制

--with-language=        语言支持< english | traditional-chinese | simplified-chinese>

--with-ldap             在LDAP目录中提供用户数据库

--with-mysql            在MySQL数据库中存放用户数据

--with-pgsql            在PostgreSQL数据库中存放用户数据

--with-privsep          启用权限分离

--with-tls              启用 SSL/TLS 支持 (测试阶段, 需要安装 OpenSSL)

--with-certfile=        证书文件 (默认目录: /etc/ssl/private/pure-ftpd.pem)

--with-rfc2640          启用兼容 RFC 2640 支持(UTF-8 编码的文件名,测试阶段,需要安装iconv)

--with-everything       启用大多数选项,编译完功能版本的服务器端。

为了方便起见,我在这里使用了几个基本的编译命令来配置编译一个全功能版本的程序,代码如下:

# ./configure --prefix=/usr/local/pure-ftpd/ --with-language=simplified-chinese --with-everything

注意:如果要指定安装路径,那么路径最好是/usr/local/pure-ftpd或/usr/local/pureftpd/ 或者干脆就不指定,如果不指定目录的话默认是将程序的文件安装到/usr/local下的相应目录下,我这里指定目录是为了便于管理,至于为什么安装目录也有如此的讲究,在下面再做说明,代码如下:

  1. # make && make check && make install 
  2. # mkdir /usr/local/pure-ftpd/etc 
  3. # cp configuration-file/pure-ftpd.conf /usr/local/pure-ftpd/etc/ # 配置文件拷贝到/etc目录下 
  4. # cp configuration-file/pure-config.pl /usr/local/pure-ftpd/sbin/ 
  5. //似乎make install忘记了将这个文件复制到相应的目录了,我们只有手动自己做了 
  6. # chmod 755 /usr/local/pure-ftpd/sbin/pure-config.pl # 设置相应的权限 
  7. 系统集成 

这里所说的系统集成就是制定系统变量,使系统可以找到我们刚刚安装的程序,最简单的方法就是将一些可执行的程序,man文件在系统指定的path中建立符号链接就可以了,当然我们也可以修改系统变量,如PATH变量,man page的配置文件等等,但是我还是习惯在相应的目录建立符合连接,代码如下:

  1. # cd /usr/local/bin/ 
  2. # ln -s /usr/local/pure-ftpd/bin/* . 
  3. # ln -s /usr/local/pure-ftpd/sbin/* /usr/local/sbin/ 
  4. # ln -s /usr/local/pure-ftpd/man/man8/* /usr/local/share/man/man8/ 
  5. //phpfensi.com 

PureFTPd配置

PureFTPd 程序的一大特点就是官方推荐使用命令行参数的形式来启动服务,而非我们经常使用的配置文件加命令的形式来启动服务,不过PureFTPd也是支持读取配置文件的,只不过要用到一个Python编写的脚本,利用这个脚本来将配置文件中的值转换为命令行参数.

(1)创建一个匿名访问的FTP服务器

匿名用户访问的FTP服务器比较好配置,只需要做一下与匿名用户相关的配置即可,如果只开启匿名访问的ftp服务器那么其ftp目录就是系统中ftp用户的home目录,可以使用finger命令来查看,代码如下:

  1. # finger ftp 
  2. Login: ftp                              Name: FTP User 
  3. Directory: /var/ftp                     Shell: /sbin/nologin 
  4. Never logged in
  5. No mail. 
  6. No Plan. 

当然这个目录我也可以通过修改/etc/passwd文件来修改,但要记住,这个目录只针对匿名用户.

●修改匿名用户上传/下载目录,以及相关的权限,代码如下:

# usermod -d /home/ftp

# mkdir /home/ftp;chown ftp.ftp /home/ftp

●修改相关配置

  1. # vi /etc/pure-ftpd.conf 
  2. ChrootEveryone              yes     # 启用chroot 
  3. BrokenClientsCompatibility  yes     # 兼容不同客户端 
  4. Daemonize                   yes     # 后台运行 
  5. MaxClientsPerIP             20      # 每个ip最大连接数 
  6. VerboseLog                  yes     # 记录日志 
  7. DisplayDotFiles             no      # 显示隐藏文件 
  8. AnonymousOnly               yes     # 只允许匿名用户访问 
  9. NoAnonymous                 no      # 运行匿名用户连接 
  10. SyslogFacility              none        # 不将日志在syslog日志中显示 
  11. DontResolve                 yes     # 不进行客户端DNS解析 
  12. MaxIdleTime                 15      # 最大空闲时间 
  13. LimitRecursion              2000 8      # 浏览限制,文件2000,目录8层 
  14. AnonymousCanCreateDirs      yes     # 匿名用户可以创建目录 
  15. MaxLoad                     4           # 超出负载后禁止下载 
  16. PassivePortRange            45000 50000 # 被动模式端口范围 
  17. AnonymousRatio              1 10        # 匿名用户上传/下载比率 
  18. AntiWarez                   yes     # 禁止下载匿名用户上传但未经验证的文件 
  19. AnonymousBandwidth          200     # 匿名用户带宽限制(KB) 
  20. Umask                       133:022     # 创建文件/目录默认掩码 
  21. MinUID                      100     # 最大UID限制 
  22. AllowUserFXP                no      # 仅运行用户进行FXP传输 
  23. AllowAnonymousFXP           no      # 对匿名用户和非匿名用户允许进行匿名 FXP 传输 
  24. ProhibitDotFilesWrite       no      # 不能删除/写入隐藏文件 
  25. ProhibitDotFilesRead        no      # 禁止读取隐藏文件 
  26. AutoRename                  yes     # 有同名文件时自动重新命名 
  27. AnonymousCantUpload         no      

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论