1.规划
目的:
建一个有多个虚拟用户的ftp站点,可匿名访问,也可验证访问。匿名用户只可下载不可上传。验证用户可下载,也可上传。
虚拟用户使用ftpgroup组的ftpuser帐户访问。
teczm帐户不属于ftpgroup组。
资源:
/ftpd/tech teczm 755 纯技术资料,按主题分类
/ftpd/product teczm 755 可公开产品技术资料,按所属领域和厂商分类
/ftpd/other teczm 755 不涉及版权的非技术资料
虚拟用户:包括anonymous、tzguest、teczm。
匿名用户:anonymous
家目录:/ftpd/home/anonymous
家目录属主:teczm
家目录权限:755
可访问资源:/ftpd/tech [纯技术资料]
上传:不允许
上传目录:无
下载速率:受限
技术伙伴用户:tzguest
家目录:/ftpd/home/tzguest
家目录属主:teczm
家目录权限:755
可访问资源:/ftpd/tech [纯技术资料] /ftpd/other [非技术资料]
上传:允许
上传目录:/ftpd/home/tzguest/upload
上传目录属主:teczm
上传目录权限:777 [upload目录下可创建、删除子目录,可创建、覆盖文件]
上传空间:受限
速率:受限
实名伙伴用户:teczm
家目录:/ftpd/home/teczm
家目录属主:teczm
家目录权限:755
可访问资源:/var/ftpd/tech [纯技术资料] /product [可公开产品技术资料] /other [非技术资料]
上传:允许
上传目录:/ftpd/home/teczm/upload
上传目录属主:teczm
上传目录权限:777 [upload目录下可创建、删除子目录,可创建、覆盖文件]
上传空间:受限
速率:不限
2.执行
2.1 目录准备
创建资源目录、设置属主、权限
代码:
#mkdir /ftpd/product
#mkdir /ftpd/tech
#mkdir /ftpd/other
#cd /ftpd
#chown teczm *
#chmod 755 *
创建虚拟用户家目录、设置属主、权限
代码:
#mkdir /ftpd/home
#chown teczm home
#chmod 755 home
#cd /ftpd/home
#mkdir /ftpd/home/anonymous
#mkdir /ftpd/home/tzguest
#mkdir /ftpd/home/teczm
#chown teczm *
#chmod 755 *
创建有上传权限虚拟用户的上传目录、设置属主、权限
代码:
#mkdir /ftpd/home/tzguest/upload
#mkdir /ftpd/home/teczm/upload
#chown teczm /ftpd/home/tzguest/upload
#chmod 777 /ftpd/home/tzguest/upload
#chown teczm /ftpd/home/teczm/upload
#chmod 777 /ftpd/home/teczm/upload
创建符号链接
代码:
#ln –s /ftpd/tech /ftpd/home/anonymous/tech
#ln –s /ftpd/tech /ftpd/home/tzguest/tech
#ln –s /ftpd/tech /ftpd/home/teczm/tech
#ln –s /ftpd/product /ftpd/home/teczm/product
#ln –s /var/ftpd/other /ftpd/home/tzguest/other
#ln –s /var/ftpd/other /ftpd/home/teczm/other
2.2 安装pureftpd
下载、解压
下载: http://www.pureftpd.org
解压:
代码:
#tar xzvf pure-ftpd-xxx.tar.gz
#cd pure-ftpd-xxx
编译
代码:
#./configure --without-inetd --with-paranoidmsg --with-quotas --with-sysquotas --with-altlog --with-extauth --with-cookie --with-throttling --with-ratios --with-ftpwho --with-virtualhosts --with-virtualchroot --with-diraliases --with-peruserlimits --with-language= simplified-chinese --with-pam --with-puredb --with-tls
安装
代码:
#make
#make check
#make install
2.3 配置pureftpd
拷贝配置文件到指定目录
代码:
#chmod 755 configuration-file/pure-config.pl
#cp configuration-file/pure-config.pl /usr/local/sbin/
#cp configuration-file/pure-ftpd.conf /usr/local/etc/
pure-ftpd.conf的设定
代码:
#ee /usr/local/etc/pure-ftpd.conf
引用:
#pure-ftpd.conf
ChrootEveryone yes
BrokenClientsCompatibility yes
MaxClientsNumber 50
Daemonize yes
MaxClientsPerIP 10
VerboseLog no
DisplayDotFiles no
AnonymousOnly no
NoAnonymous yes
SyslogFacility ftp
FortunesFile /usr/local/etc/ftpmsg #欢迎信息文件
DontResolve yes
MaxIdleTime 5
PureDB /etc/pureftpd.pdb
LimitRecursion 2000 8
AnonymousCanCreateDirs no
MaxLoad 4
AntiWarez yes
UserBandwidth 30
Umask 133:022
MinUID 100
AllowUserFXP no
AllowAnonymousFXP no
ProhibitDotFilesWrite yes
ProhibitDotFilesRead yes
AutoRename yes
AnonymousCantUpload yes
AltLog w3c:/var/log/pureftpd.log
NoChmod yes
KeepAllFiles no
Quota 2000:1000
NoRename no
CustomerProof yes
PerUserLimits 10:200
虚拟用户公共帐号设置
代码:
#pw groupadd ftpgroup
#pw useradd ftpuser -g ftpgroup -d /dev/null -s /etc
虚拟用户帐号设置
代码:
#/usr/local/bin/pure-pw useradd guest -u ftpuser -d /ftpd/home/anonymous
#/usr/local/bin/pure-pw useradd teczm -u teczm -d /ftpd/home -r 192.168.0.0/24
guest虚拟账号使用真实用户ftpuser,虚拟帐号teczm使用真实账号teczm
虚拟用户teczm只能从192.168.7.0段登录
然后:
代码:
#/usr/local/bin/pure-pw mkdb
2.4 启动pureftpd
代码:
#/usr/local/sbin/pure-config.pl /usr/local/etc/pure-ftpd.conf