Pureftpd 架设与系统帐号分离的ftp服务器


环境:系统FreeBSD freebsd.hcren.com 4.9-STABLE FreeBSD 4.9-STABLE[size=18:4151c61130][color=red:4151c61130][b:4151c61130]特别感谢 Freebsdchina 的jayvan 技术支持![/b:4151c61130][/color:4151c61130][/size:4151c61130]
:em02: :em02: :em02:
研究freebsd 已有几个月了 。但一直没有找到一个比Windows下的serv-u 易管理的
ftp 服务器软件 。前一段服务器都是用vsftpd+系统quota , 但帐号是系统本身帐号 。虽然,我做了
/sbin/nologin
但感觉还是不安全 。也试过 。proftpd mysql ,但如果一个企业就开ftp,你要和系统帐号分离,难道还要
装mysql,等等数据库不成?
下面我就把我pureftpd 配置写出来 。本人是菜鸟,哪地方不对希望高手多多指点!

我都是都过ports 方式安装的
freebsd# cd /usr/ports/ftp/pure-ftpd/
默认ports 安装pure-ftpd 不支持 puredb 需要
freebsd# vi Makefile
加入 --with-puredb
然后wq!
freebsd# make WITH_LANG=simplifIEd-chinese install
建立第一个虚拟用户:如down 用户,组都为888 主目录/home/888
freebsd# mkdir /home/888
freebsd# chown -R 888:888 /home/888
freebsd# /usr/local/bin/pure-pw useradd down -u 888 -g 888 -d /home/888
PassWord: 输入二次
Enter it again:
建立用户数据库:
freebsd# /usr/local/bin/pure-pw mkdb /usr/local/etc/pureftpd.pdb

修改配置文件 。
freebsd# cd /usr/local/etc/
freebsd# cp pure-ftpd.conf.sample pure-ftpd.conf
找到# PureDB /etc/pureftpd.pdb
把#掉支掉,路径改成你刚才建的 。我的是/usr/local/etc/pureftpd.pdb
启动pureftpd。。
freebsd# /usr/local/sbin/pure-config.pl /usr/local/etc/pure-ftpd.conf
D:>ftp 218.*.*.*
Connected to *.*.*.*
220---------- 欢迎来到 Pure-FTPd [TLS] ----------
220-您是第 1 个使用者,最多可达 50 个连接
220-现在本地时间是 13:20 。服务器端口: 21 。
220 在 15 分钟内没有活动,您被会断线 。
User (218.*.*.*:(none)):
好了 。就这么简单 。就和系统帐号完全分离了 。如果你想即系统帐号又和puredb 帐号同时使用
在pure-ftpd.conf 打开UnixAuthentication yes
些项即可 。自启动把/usr/local/etc/rc.d/pure-ftpd.sh.sample 改名cp 去掉.sample 即可 。其实还有
很多比如quota ,好多,你们慢慢研究吧!最后把我的pureftpd 给大家看一看 。
###########################################################
# #
# Configuration file for pure-ftpd wrappers #
# #
############################################################
# If you want to run Pure-FTPd with this configuration
# instead of command-line options, please run the
# following command :
#
# /usr/local/sbin/pure-config.pl /usr/local/etc/pure-ftpd.conf
#
# Please don"t forget to have a look at documentation at
# http://www.pureftpd.org/documentation.HTML for a complete list of
# options.
# Cage in every user in his home Directory
ChrootEveryone yes
# If the previous option is set to "no", members of the following group
# won"t be caged. Others will be. If you don"t want chroot()ing anyone,
# just comment out ChrootEveryone and TrustedGID.
# TrustedGID 100
# Turn on compatibility hacks for broken clients
BrokenClientsCompatibility no
# Maximum number of simultaneous users
MaxClientsNumber 50
# Fork in background
Daemonize yes
# Maximum number of sim clients with the same IP address
MaxClientsPerIP 8
# If you want to log all client commands, set this to "yes".
# This directive can be duplicated to also log server responses.
VerboseLog no
# List dot-files even when the client doesn"t send "-a".
DisplayDotFiles yes
# Don"t allow authenticated users - have a public anonymous FTP only.
AnonymousOnly no

推荐阅读