`
neolimeng
  • 浏览: 82560 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用pureftpd+pureDB虚拟用户,建立一个简单安全(不需要数据库支持)的linux ftp网站

阅读更多

用pureftpd+pureDB虚拟用户,建立一个简单安全(不需要数据库支持)的linux ftp网站 
(陈佳毅编写,献给LINUX刚入门者,多谢linux.博客: http://dongfengyu.bokee.com/)。 

关键字:ubuntu linux Pure-FTPD pureftpd pureDB虚拟用户 


规划: 
目的: 

建一个有多个虚拟用户的ftp站点,可匿名访问,也可验证访问。匿名用户只可下载可上传。验证用户可下载,也可上传。 
虚拟用户使用ftpgroup组的ftpuser帐户访问。 

admin2帐户不属于ftpgroup组,而属于管理员组admin2。 

目录结构: 

1,pureftpd的数据文件存放目录:/var/ftpd/*,属主admin2,组admin2。 

/var/ftpd/source/public [存放公共资料,匿名anonymous可访问。权限:777]。 
/var/ftpd/source [存放伙伴用户群内交流的资料,伙伴用户vuser可访问,权限:777。] 
/var/ftpd/home [存放管理员等高级人员的资料,管理用户admin2可访问,权限:755。] 


2,pureftpd的可执行文件存放位置:/usr/local/pureftpd/*,属主:root,组root。 

/usr/local/pureftpd/etc/ 里面有“参数及配置文件夹”:etc;pureftpd自动生成的bin,man,sbin文件夹等 
/usr/local/pureftpd/etc/ 有文件:ftpmsg(自创),pureftpd.log(自创),pure-ftpd.conf(从编译中拷贝),pureftpd.pdb(程序自动生成),pureftpd.passwd(程序自动生成)。 


用户分配 

虚拟用户:包括anonymous、vuser、admin2。 

匿名用户:anonymous 

可访问资源:/var/ftpd/source/public/* [可访问公共目录下面的所有资料public/* ] 

上传:不允许 

下载速率:受限 

伙伴用户:vuser 

可访问资源:/var/ftpd/source/* [可访问群内用户的所有资料,可创建、删除子目录,可创建、覆盖文件:source/*,包括/source/public/*] 

上传:允许 

上传空间:受限 

速率:受限 


管理用户:admin2 

可访问资源:/var/ftpd/* [可访ftp所有资料,可创建、删除子目录,可创建、覆盖文件:包括home/*,source/*,/source/public/*] 

上传:允许 
上传空间:受限 

速率:不限 



执行: 

建立数据文件目录、设置属主、权限 : 
代码: 

-------------------------------------------------------------------------------- 
#su 
#mkdir /var/ftpd 

#mkdir /var/ftpd/home 
#mkdir /var/ftpd/source 
#mkdir /var/ftpd/source/public 

#groupadd admin2 
#useradd admin2 -g admin2 -d /home/admin2 -s /bin/bash 
#passwd admin2 

#cd /var 
#chown -R admin2 ftpd 
#chgrp -R admin2 ftpd 
#chmod -R 755 ftpd 

#cd /var/ftpd 
#chmod -R 777 source 
-------------------------------------------------------------------------------- 


建立pureftpd的可执行文件目录 : 
代码: 

-------------------------------------------------------------------------------- 
#cd /usr 
#mkdir /usr/local/pureftpd 
#mkdir /usr/local/pureftpd/etc 
#mkdir /usr/local/pureftpd/temp ##安装程序用的临时目录,用完后,可删除 


-------------------------------------------------------------------------------- 







安装pureftpd 

下载: http://www.pureftpd.org 
拷贝、解压 



代码: 

-------------------------------------------------------------------------------- 

#cp pure-ftpd-1.0.21.tar.gz /usr/local/pureftpd/temp 
#cd /usr/local/pureftpd/temp 

#tar xzvf pure-ftpd-1.0.21.tar.gz 
#cd pure-ftpd-1.0.21 



-------------------------------------------------------------------------------- 

编译 



代码: 

--------------------------------------------------------------------------------------------- 



./configure --prefix=/usr/local/pureftpd --with-everything --with-rfc2640 


--------------------------------------------------------------------------------------------- 
#注: 
--prefix是安装的目标目录 

--with-eyerything是安装所有功能 
--with-rfc2640,此参数UTF-8,gb2312等异构系统的语言集转换 

另外如果需要与mysql连接,修改提示语言等还需要在此指定,例如: 
--with-mysql=/opt/mysql 

--with-language=simplified-chinese 

本文不涉及。 





安装 


代码: 

-------------------------------------------------------------------------------- 



#make 
#make check 
#make install 



-------------------------------------------------------------------------------- 

2.3 配置pureftpd 

拷贝配置文件到指定目录 



代码: 

-------------------------------------------------------------------------------- 



#chmod 755 configuration-file/pure-config.pl 
#cp configuration-file/pure-config.pl /usr/local/pureftpd/sbin/ 
#cp configuration-file/pure-ftpd.conf /usr/local/pureftpd/etc/ 
#cd /usr/local/pureftpd/etc/ 
#gedit pure-ftpd.conf 



-------------------------------------------------------------------------------- 

pure-ftpd.conf全文注释(附件中): 

-------------------------------------------------------------------------------- 






-------------------------------------------------------------------------------- 

虚拟用户公共帐号设置 



代码: 

-------------------------------------------------------------------------------- 



#groupadd ftpgroup 
#useradd ftpuser -g ftpgroup -d /dev/null -s /etc 

或: 
#mkdir /home/null 
#chmod 777 /home/null 
#useradd ftpuser -g ftpgroup -d /home/null -s /etc 

-------------------------------------------------------------------------------- 

添加ftp用户,让匿名支持: 
------------------------------------------------------------------------------- 
#useradd ftp -g ftpgroup #添加一个用户“ftp”必须是这个名,它与其它ftp用户都从属于上面的ftpgroup。 
(如果ftp用户已经存在,请修改ftp的默认组: #usermod -g ftpgroup ftp) 
#usermod -d /var/ftpd/source/public ftp #更改“ftp”这个用户的主目录。 
#chown ftp.ftpgroup /var/ftpd/source/public 

--------------------------------------------------------------------------------- 


虚拟用户帐号设置 



代码: 

-------------------------------------------------------------------------------- 
#cd /usr/local/pureftpd/bin 



#./pure-pw useradd vuser -u ftpuser -d /var/ftpd/source 
#./pure-pw useradd admin2 -u admin2 -d /var/ftpd 

-------------------------------------------------------------------------------- 
##说明:vuser是用户名,-u ftpuser是其实际的linux用户,-d指定起始目录,并锁定于该目录。如果不锁定,则用-D 

##如果需要限制IP段的加上: -r 192.168.0.0/24 






建立用户数据库 
代码: 
-------------------------------------------------------------------------------- 

#./pure-pw mkdb /usr/local/pureftpd/etc/pureftpd.pdb 

-------------------------------------------------------------------------------- 
#说明:今后每添加或修改用户数据库都应该执行一次mkdb,执行后不需要重起ftp 





启动pureftpd 



代码: 

------------------------------------------------------------------------------------------------------ 

#/usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf 
------------------------------------------------------------------------------------------------------ 









或设置执行文件pureftpd.sh为系统服务: 
# vi pureftpd.sh 
内容: 

#!/bin/sh 
echo "" 
/usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf 

然后: 
#chmod 755 pureftpd.sh 

执行以下命令立即生效,#./pureftpd.sh 


重新启动系统,测试安装效果。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics