`
neolimeng
  • 浏览: 84652 次
  • 性别: 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 


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

分享到:
评论

相关推荐

    Linux平台下FTP服务虚拟用户的数据库管理.pdf

    《Linux平台下FTP服务虚拟用户的数据库管理》这篇文章探讨了如何在Linux操作系统环境下,利用Pureftpd软件实现FTP服务,并特别关注了虚拟用户的数据库管理。Pureftpd是一款适用于Unix和类Unix系统的FTP服务器软件,...

    Linux下如何使用虚拟用户增加FTP的安全性

    首先,我们需要选择一个支持虚拟用户的FTP服务器软件。常见的有vsftpd、ProFTPD和PureFTPd。这里以vsftpd为例,因为它是许多Linux发行版的默认FTP服务器,且支持虚拟用户功能。 1. **安装vsftpd** 在大多数Linux...

    Linux的Ftp服务器搭建的个人总结

    需要为每个FTP用户创建一个Linux用户,并设置合适的权限。例如,创建用户“ftpuser”: ``` sudo useradd -m ftpuser sudo passwd ftpuser ``` 6. **防火墙设置** 如果有防火墙(如ufw或iptables),需开启...

    LINUX FTP服务器设计

    设计一个Linux FTP服务器,你需要了解以下关键知识点: 1. **FTP协议基础**:FTP是Internet上最早的服务之一,用于在客户端和服务器之间传输文件。它基于TCP/IP协议族,分为控制连接和数据连接两个部分,通过端口号...

    用Linux架设FTP服务器

    FTP(File Transfer Protocol)是一种广泛使用的文件传输协议,它允许用户在计算机之间传输文件,尤其在服务器管理和维护中扮演着重要角色。本篇文章将详细阐述如何在Linux环境下设置FTP服务器,以便你可以参考并...

    linux-ftp服务器的配置及各种知识点.doc

    Red Hat Enterprise Linux 5内置了vsftpd,它是一个安全且易于配置的FTP服务器。Windows环境下,Serv-U是最常用的FTP服务器软件。 FTP客户端软件同样丰富,Linux有lftp命令行工具,Windows有ftp命令行工具以及图形...

    ftp.rar_ftp_ftp c linux_ftp linux服务端_ftp服务端_linux ftp

    在这个“ftp.rar”压缩包中,我们关注的是一个在Linux平台上用C语言编写的FTP服务端程序。这个程序允许用户通过FTP连接到服务器,进行上传、下载和其他文件管理操作。 FTP服务端在Linux中的实现通常涉及以下关键...

    Linux搭建FTP服务器

    在Linux系统中搭建FTP服务器是一项常见的任务,尤其对于IT管理员来说,这有助于提供安全的数据传输服务。本教程将详细介绍如何在Linux环境下安装并配置FTP服务器,以实现远程文件的上传和下载。 首先,我们需要了解...

    Linux FTP服务搭建

    设置FTP 的实际目录必须在目录后加上“/”符号,否则 pure-ftpd 会为每个 FTP 用户自动在/根目录下建立名为“ftproot 用户名”的主目录。 $obj_db=new db("localhost","root","mypasswd","pureftp"); 第4步,修改...

    PureFTPd-Manager-1.8

    2. PureFTPd 是一个免费、开源的 FTP 服务器,设计目标是简单、安全和高效。它支持多种特性,如虚拟用户、SSL/TLS 加密、IPv6、以及通过 PAM(Pluggable Authentication Modules)进行身份验证。 3. 配置 PureFTPd ...

    基于Linux环境下虚拟网站的构建.pdf

    PureFTPd是一个安全且易于管理的FTP服务器,适用于Linux环境。安装PureFTPd同样可以通过包管理器或源代码编译。安装完成后,配置PureFTPd以限制用户权限和可用空间。例如,使用`pure-pw`工具创建用户数据库,并在...

    User_manager_for-PureFTPd_v2.1_CN

    PureFTPd是一款开源的、安全的FTP(File Transfer Protocol)服务器软件,适用于Unix-like系统,如Linux和FreeBSD。这个用户管理工具可能是用PHP开发的,因为标签中提到了"php代码",它允许管理员通过Web界面便捷地...

    linux下ftp搭建

    在Linux系统中,FTP(File Transfer Protocol)是一种用于在计算机之间传输文件的标准网络协议。本文将详细介绍如何在Linux环境下搭建FTP服务器,以便于文件共享和远程管理。我们将遵循以下步骤: 1. **选择FTP...

    pureftpd安装配置架设linux

    ### Pureftpd在Linux环境下的安装与配置详解 #### 一、概述 ...Pureftpd的强大之处在于其灵活性和扩展性,支持多种数据库认证方式以及丰富的功能选项,使得它成为许多组织和企业首选的FTP解决方案之一。

    pure-ftpd安装配置文档

    pure-ftpd支持虚拟用户认证,即可以创建虚拟用户,而不需要系统用户。我们可以使用groupadd命令创建ftp组,然后使用useradd命令创建ftp用户,并将其加入ftp组。 使用pure-pw命令可以创建虚拟用户,例如pure-pw ...

    ftp_server.rar_FTP SERVER_ftp linux

    FTP(File Transfer Protocol)是一种广泛使用的网络协议,用于在互联网上进行文件传输。在这个名为"ftp_server.rar_FTP SERVER_ftp linux"的压缩包中,我们可能会找到与在Linux系统上搭建FTP服务器相关的资料。FTP...

    基于Linux下FTP服务的在线作业平台.pdf

    PureFTPd支持MySQL用户管理,并且具备虚拟用户映射、上传下载速率控制以及用户磁盘配额等功能,能够满足大规模FTP用户的需求。 在Linux服务器模式下,安装过程中应选择服务器配置,剔除不必要的桌面环境和其他非...

    pureftpd简易管理工具(mysql认证) v1.0.rar

    这款“pureftpd简易管理工具”是专为使用MySQL认证的Pure-FTPd服务器设计的,它提供了一个直观的界面,帮助管理员执行常见的FTP用户管理任务,如创建新用户、修改用户信息、删除用户以及管理用户权限等。这极大地...

    PHP实例开发源码——pureftpd 简易管理工具(mysql认证).zip

    它的设计目标是提供一个安全、稳定且易于管理的FTP服务,尤其适合小型到中型企业使用。在本实例中,它被配置为使用MySQL数据库进行用户身份验证。 【MySQL认证】 MySQL是一个流行的开源关系型数据库管理系统,用于...

Global site tag (gtag.js) - Google Analytics