阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

PureFtp+PureAdmin安装配置

204次阅读
没有评论

共计 12463 个字符,预计需要花费 32 分钟才能阅读完成。

一、安装 pureftpd
 
前提:已经配置好 lamp 环境

Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm

CentOS 5.9 下编译安装 LAMP(Apache 2.2.44+MySQL 5.6.10+PHP 5.4.12) http://www.linuxidc.com/Linux/2013-03/80333p3.htm

RedHat 5.4 下 Web 服务器架构之源码构建 LAMP 环境及应用 PHPWind http://www.linuxidc.com/Linux/2012-10/72484p2.htm

LAMP 源码环境搭建 WEB 服务器 Linux+Apache+MySQL+PHP http://www.linuxidc.com/Linux/2013-05/84882.htm
 
1、下载所需软件包
 #wget ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.30.tar.gz
 
2、编译安装
 #./configure –prefix=/usr/local/pureftpd –with-mysql –with-throttling –with-puredb –with-virtualhosts –with-virtualroot –with-cookie –with-quotas –with-sysquotas –with-ratios –with-welcomemsg –with-peruserlimits –with-lanaguage=simplified-chinese
 
----------
 如果出现 configure: error: libmysqlclient is needed for MySQL support
 解决:#yum install mysql-devel
 ----------
 <configure 后面如果用 –with-everything 表示包含所有功能 < 但是不保险 >
                  –with-tls 表示激活 SSL/TLS,需要 openssl>
 # make
 
# make install
 
-----进入 pure-ftp 解压目录-----
 
3、复制必要的文件
 # cp configuration-file/pure-config.pl /usr/local/pureftpd/sbin/
 
# chmod 755 /usr/local/pureftpd/sbin/pure-config.pl
 
# mkdir -p /usr/local/pureftpd/etc/
 
# cp configuration-file/pure-ftpd.conf /usr/local/pureftpd/etc/
 
4、添加 pureftpd 为系统服务
 
# cp contrib/redhat.init /etc/init.d/pureftpd
 
# vi /etc/init.d/pureftpd
 修改 18/19 行
        fullpath=/usr/local/sbin/$prog
        pureftpwho=/usr/local/sbin/pure-ftpwho
  为:
        fullpath=/usr/local/pureftpd/sbin/$prog
        pureftpwho=/usr/local/pureftpd/sbin/pure-ftpwho
 
修改 24 行
        $fullpath /etc/pure-ftpd.conf –daemonize
    为  $fullpath /usr/local/pureftpd/etc/pure-ftpd.conf –daemonize
 

# chmod 755 /etc/init.d/pureftpd
 # chkconfig –add pureftpd
 # chkconfig pureftpd on
 
5、修改配置文件
 # vi /usr/local/pureftpd/etc/pure-ftpd.conf
 其中可以修改最大连接数、空闲时间等,详细介绍见 http://everspring.blog.51cto.com/497193/104618
 其中有几项要修改:
 chrootEveryone              yes  限定在自己的家目录
 NoAnonymous                yes  不允许匿名登录
 Bind                      127.0.0.1,21        监听本机回环 < 可选 >
 Bind                      192.168.0.254,21    监听本机 IP  < 自行添加的,非必须 >
 CreateHomeDir              yes  允许用户登录后自动创建家目录  < 必须 >
 
如果启用了 iptables,还必须修改下面这一行:
 PassivePortRange          30000 50000 保存退出。
 
iptables 开启相关端口:
 
iptables -I INPUT -p tcp –dport 21 -j ACCEPT
 iptables -I INPUT -p tcp –dport 30000:50000 -j ACCEPT
 /etc/rc.d/init.d/iptables save
 
6、配置虚拟用户登录环境
 # mkdir /ftproot
 
# chmod -R 777 /ftproot  < 这不不做可以能会引起登录时报 421 错误 >
 
# useradd virtualftp -d /ftproot -s /sbin/nologin  < 创建接下来的虚拟用户对应的系统用户 >
 
# chown virtualftp:virtualftp /ftproot
 
7、设置环境变量
 # echo PATH=$PATH:/usr/local/pureftpd/bin/ >>/etc/profile
 # source /etc/profile
 
# pure-pw show tony                                  查看 tony 这个用户的详细信息
 # pure-pw list                                        是看用户列表的
 # pure-pw passwd tony -m                              修改 tony 的密码
 # pure-pw mkdb /usr/local/pureftpd/etc/pureftpd.pdb  创建虚拟用户数据库。
 # pure-pw show tony                                  查看用户
 # pure-pw usermod                                    修改用户
 
8、启动 pureftpd
 #service pureftpd start  或者  #/usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf
 出现
 Running: /usr/local/pureftpd/sbin/pure-ftpd -A -c50 -B -C8 -D -E -fftp -H -I5 -L10000:8 -m4 -s -U133:022 -u100 -j -k99 -Z
 表示正常
 
# netstat -anltp | grep 21
 tcp        0      0 0.0.0.0:21                  0.0.0.0:*                  LISTEN      13418/pure-ftpd (SE
 tcp        0      0 :::21                      :::*                        LISTEN      13418/pure-ftpd (SE

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-06/103267p2.htm

PureFtp+PureAdmin: 实现基于虚拟账号的 FTP 服务器 http://www.linuxidc.com/Linux/2013-06/85728.htm

Vsftpd 虚拟用户的配置及 PureFtp 配置解析 http://www.linuxidc.com/Linux/2012-12/76502.htm

二、虚拟用户使用篇
 
 (一) 用 pureDB 认证
 
<1>#vi /usr/local/pureftpd/etc/pure-ftpd.conf
 修改 126 行为:
 
PureDB                        /usr/local/pureftpd/pureftpd.pdb
 
<2>#pure-pw useradd user1 -u virtualftp -g virtualftp -d /ftproot/user1 -m
 说明:
 user1 是用户名,-u virtualftp 是其实际的 linux 用户,- d 指定起始目录, 并锁定于该目录。如果不锁定,则用 -D; 如果需要不同的权限,可以建立新的 linux 用户与组
 
如果用的系统自带的 ftp 用户,这样的话还需修改配置文件 pure-ftpd.conf 中的 MinUID 为 ftp 用户的 UID 14,否则登录时会出现 530 错误;所以这里建议创建另一个非系统自带的用户做映射
 
<3> 建立用户数据库:
 # pure-pw mkdb /usr/local/pureftpd/pureftpd.pdb
 说明:今后每添加或修改用户数据库都应该执行一次 mkdb
 
<4> 虚拟用户的信息以每个用户一行的方式存放在相应的文件中,其格式如下所示:
 
<account>:<password>:<uid>:<gid>:<gecos>:<home directory>:<upload bandwidth>:<download bandwidth>:<upload ratio>:<download ratio>:<max number of connections>:<files quota>:<size quota>:<authorized local IPs>:<refused local IPs>:<authorized client IPs>:<refused client IPs>:<time restrictions>
 其中,除了帐号、口令、uid、gid  和  home  目录之外,其它的可以是空值
 
<5>pure-pw 创建用户的语法规范如下:
 pure-pw useradd <login> [-f <passwd file>] -u <uid> [-g <gid>]
 
      -D/-d <home directory> [-c <gecos>]
 
      [-t <download bandwidth>] [-T <upload bandwidth>]
 
      [-n <max number of files>] [-N <max Mbytes>]
 
      [-q <upload ratio>] [-Q <download ratio>]
 
      [-r <allow client host>[/<mask>][,<allow client host>[/<mask>]]…]
 
      [-R <deny client host>[/<mask>][,<deny client host>[/<mask>]]…]
 
      [-i <allow local host>[/<mask>][,<allow client host>[/<mask>]]…]
 
      [-I <deny local host>[/<mask>][,<deny local host>[/<mask>]]…]
 
      [-y <max number of concurrent sessions>]
 
      [-z <hhmm>-<hhmm>] [-m]
 如果 pure-ftpd 启动时加入  -j(–createhome)  选项,则不需要创建 /ftproot/tony 目录。系统会在该用户第一次登陆时自动创建
 
<6> 更改用户的语法
 pure-pw usermod <user> -n ”:禁用文件配额
 
pure-pw usermod <user> -N ”:禁用文件大小配额
 
pure-pw usermod <user> -q ” -Q ”:禁用 ratio
 
pure-pw usermod <user> -t ”:禁用下载带宽限制
 
pure-pw usermod <user> -T ”:禁用上传带宽限制
 
pure-pw usermod <user> <-i,-I,-r or -R> ”:禁用 IP 过滤
 
pure-pw usermod <user> -z ”:禁用时间段约束
 
pure-pw usermod <user> -y ”:禁用并发数限制
 

<7> 删除一个用户
 pure-pw userdel <login> [-f <passwd file>] [-m]
 这时,用户的信息会被从指定的 passwd 文件中删除,但是用户的 home 目录会被保留,需要手工删除
 
<8> 更改一个用户口令
 pure-pw passwd <login> [-f <passwd file>] [-m]
 
<9> 显示用户信息
 /etc/pureftpd.passwd  文件中记录的信息不方便用户的阅读,因此  pure-ftpd  提供了显示用户信息的命令。其语法是:
 pure-pw show <login> [-f <passwd file>]
 
<10> 使得 pure-ftpd 支持虚拟用户,需要在编译的时候加入选项 –with-puredb。这时,可以通过在启动服务是的’-l’参数来设置。如:
 
/usr/local/pureftpd/sbin/pure-ftpd -j -lpuredb:/etc/pureftpd.pdb &
 
 (二) 用 mysql 认证
 
<1>#vi /usr/local/pureftpd/etc/pure-ftpd.conf
 修改 116 行为:
 
MySQLConfigFile              /usr/local/pureftpd/etc/pureftpd-mysql.conf
 
<2> 下载 web 管理程序 pureadmin0.3
 # wget http://www.yiyou.org/docs/PureAdmin_03_php/PureAdmin-0.3.tar.gz
 
以下操作针对此 web 管理程序
 <3> 配置 web 程序
 # tar xvf PureAdmin-0.3.tar.gz -C /var/www/html/
 # cd /var/www/html/
 # mv PureAdmin-0.3/ pureadmin
 # cd pureadmin
       
<4> 导入数据到 mysql
 # wget http://www.yiyou.org/docs/PureAdmin_03_php/pureftp.sql
 # less pureftp.sql
 
注意其中的
      22 — Login = ftp            此为登录数据库的用户
      23 — Password = tmppasswd    此为登录数据库的密码
 
    31 CREATE DATABASE ftpusers;  创建名为 ftpusers 的库
 
    50 INSERT INTO admin VALUES (‘admin’,MD5(‘passwd’));  此为登录 web 用的用户密码,可自行修改
 
< 导入数据,导入前可能需要修改此 sql 文件的 15 行:前 2 个减号空一格 – ——————————————————->
 # mysql -u root -p < pureftp.sql
 
<5> 查看 mysql
 添加连接 mysql 用户
 先用 root 登录 mysql,执行
 mysql>grant all privileges on ftpusers.* to ftp@localhost identified by ‘tmppasswd’;
 mysql>flush privileges;
 mysql>quit;
 
# mysql -u ftp -p
 Enter password:tmppasswd
 
mysql>use ftpusers;
 mysql>show tables;
 +——————–+
 | Tables_in_ftpusers |
 +——————–+
 | admin              |
| users              |
+——————–+
 2 rows in set (0.01 sec)
 
mysql> select * from admin;
 +———-+———————————-+
 | Username | Password                        |
 +———-+———————————-+
 | admin    | 76a2173be6393254e72ffa4d6df1030a |
+———-+———————————-+
 1 row in set (0.11 sec)
 
mysql>quit
 
<6> 修改 pureadmin 的配置文件
 # cd /var/www/html/pureadmin
 # vi config.php  我的如下:
 <?php
 $cfg[‘dbhost’]=’localhost’; //mysql host
 $cfg[‘dbname’]=’ftpusers’;  //mysql db name                            所用的库 < 与前面导入的 sql 中要一致 >
 $cfg[‘dbuser’]=’ftp’;          //mysql user                          登录 mysql 的帐号
 $cfg[‘dbpasswd’]=’tmppasswd’;          //mysql password              登录 mysql 的密码
 
//ftp config
 $cfg[‘page’]=10;                                                      每页显示的用户数量
 //ftp passwd type : TEXT/CRYPT/MD5
 $cfg[‘passwdtype’]=’MD5′;                                              认证模式 < 要与 pureftpd-mysql.conf 中一致 >
 //ftp default
 $cfg[‘uid’]=500;  //uid                                                映射虚拟用户的 UID,即刚创建的 virtualftp 用户
 $cfg[‘gid’]=500;        //gid                                          同上
 $cfg[‘dir’]=’/ftproot/’; //dir                                          默认家目录
 $cfg[‘qf’]=0;  //quotafiles                                          文件个数限制,0 为不限制
 $cfg[‘qs’]=100; //quotasize                                            总文件大小
 $cfg[‘ul’]=0;  //ULBandwidth                                          上传速率限制
 $cfg[‘dl’]=200; //DLBandwidth                                          下载速率限制
 $cfg[‘ur’]=0;  //ULRatio                                              上传比
 $cfg[‘dr’]=0;  //DLRatio                                              下载比
 $cfg[‘status’]=1; //status                                            状态,1 为激活;0 为禁止
 $cfg[‘ip’]= ‘*’;        //ipaddress                                    可访问 IP,* 为所有
 ?>
 

<7> 下载 pureftpd-mysql.conf 文件
 # cd /usr/local/pureftpd/etc/
 # wget http://www.yiyou.org/docs/PureAdmin_03_php/pureftpd-mysql.conf
 # vi pureftpd-mysql.conf
 修改如下:
 MYSQLUser      ftp
 MYSQLPassword  tmppasswd
 MYSQLDatabase  ftpusers
 MYSQLCrypt      md5
 
<8> 现在可以登录使用了
 http://localhost/pureadmin
 登录:用户 admin;密码 passwd ; 验证码不用
 
创建的虚拟用户家目录,会在虚拟用户第一次登录时自动创建
 如创建了一个 user1 用户
 
# ll /ftproot/  没有任何文件
 total 0
 
# ftp localhost
 Connected to localhost.localdomain.
 220———- Welcome to Pure-FTPd [privsep] ———-
 220-You are user number 1 of 50 allowed.
 220-Local time is now 16:16. Server port: 21.
 220-This is a private system – No anonymous login
 220-IPv6 connections are also welcome on this server.
 220 You will be disconnected after 5 minutes of inactivity.
 500 This security scheme is not implemented
 500 This security scheme is not implemented
 KERBEROS_V4 rejected as an authentication type
 Name (localhost:root): user1
 331 User user1 OK. Password required
 Password:
 230-Your bandwidth usage is restricted
 230-OK. Current restricted directory is /
 230 0 Kbytes used (0%) – authorized: 102400 Kb
 Remote system type is UNIX.
 Using binary mode to transfer files.
 ftp>
 
# ll /ftproot/    自动创建了目录 user1
 total 4
 drwxr-xr-x 2 virtualftp virtualftp 4096 Apr  1 16:16 user1
 
实现了 web 创建、管理虚拟用户

一、安装 pureftpd
 
前提:已经配置好 lamp 环境

Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm

CentOS 5.9 下编译安装 LAMP(Apache 2.2.44+MySQL 5.6.10+PHP 5.4.12) http://www.linuxidc.com/Linux/2013-03/80333p3.htm

RedHat 5.4 下 Web 服务器架构之源码构建 LAMP 环境及应用 PHPWind http://www.linuxidc.com/Linux/2012-10/72484p2.htm

LAMP 源码环境搭建 WEB 服务器 Linux+Apache+MySQL+PHP http://www.linuxidc.com/Linux/2013-05/84882.htm
 
1、下载所需软件包
 #wget ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.30.tar.gz
 
2、编译安装
 #./configure –prefix=/usr/local/pureftpd –with-mysql –with-throttling –with-puredb –with-virtualhosts –with-virtualroot –with-cookie –with-quotas –with-sysquotas –with-ratios –with-welcomemsg –with-peruserlimits –with-lanaguage=simplified-chinese
 
----------
 如果出现 configure: error: libmysqlclient is needed for MySQL support
 解决:#yum install mysql-devel
 ----------
 <configure 后面如果用 –with-everything 表示包含所有功能 < 但是不保险 >
                  –with-tls 表示激活 SSL/TLS,需要 openssl>
 # make
 
# make install
 
-----进入 pure-ftp 解压目录-----
 
3、复制必要的文件
 # cp configuration-file/pure-config.pl /usr/local/pureftpd/sbin/
 
# chmod 755 /usr/local/pureftpd/sbin/pure-config.pl
 
# mkdir -p /usr/local/pureftpd/etc/
 
# cp configuration-file/pure-ftpd.conf /usr/local/pureftpd/etc/
 
4、添加 pureftpd 为系统服务
 
# cp contrib/redhat.init /etc/init.d/pureftpd
 
# vi /etc/init.d/pureftpd
 修改 18/19 行
        fullpath=/usr/local/sbin/$prog
        pureftpwho=/usr/local/sbin/pure-ftpwho
  为:
        fullpath=/usr/local/pureftpd/sbin/$prog
        pureftpwho=/usr/local/pureftpd/sbin/pure-ftpwho
 
修改 24 行
        $fullpath /etc/pure-ftpd.conf –daemonize
    为  $fullpath /usr/local/pureftpd/etc/pure-ftpd.conf –daemonize
 

# chmod 755 /etc/init.d/pureftpd
 # chkconfig –add pureftpd
 # chkconfig pureftpd on
 
5、修改配置文件
 # vi /usr/local/pureftpd/etc/pure-ftpd.conf
 其中可以修改最大连接数、空闲时间等,详细介绍见 http://everspring.blog.51cto.com/497193/104618
 其中有几项要修改:
 chrootEveryone              yes  限定在自己的家目录
 NoAnonymous                yes  不允许匿名登录
 Bind                      127.0.0.1,21        监听本机回环 < 可选 >
 Bind                      192.168.0.254,21    监听本机 IP  < 自行添加的,非必须 >
 CreateHomeDir              yes  允许用户登录后自动创建家目录  < 必须 >
 
如果启用了 iptables,还必须修改下面这一行:
 PassivePortRange          30000 50000 保存退出。
 
iptables 开启相关端口:
 
iptables -I INPUT -p tcp –dport 21 -j ACCEPT
 iptables -I INPUT -p tcp –dport 30000:50000 -j ACCEPT
 /etc/rc.d/init.d/iptables save
 
6、配置虚拟用户登录环境
 # mkdir /ftproot
 
# chmod -R 777 /ftproot  < 这不不做可以能会引起登录时报 421 错误 >
 
# useradd virtualftp -d /ftproot -s /sbin/nologin  < 创建接下来的虚拟用户对应的系统用户 >
 
# chown virtualftp:virtualftp /ftproot
 
7、设置环境变量
 # echo PATH=$PATH:/usr/local/pureftpd/bin/ >>/etc/profile
 # source /etc/profile
 
# pure-pw show tony                                  查看 tony 这个用户的详细信息
 # pure-pw list                                        是看用户列表的
 # pure-pw passwd tony -m                              修改 tony 的密码
 # pure-pw mkdb /usr/local/pureftpd/etc/pureftpd.pdb  创建虚拟用户数据库。
 # pure-pw show tony                                  查看用户
 # pure-pw usermod                                    修改用户
 
8、启动 pureftpd
 #service pureftpd start  或者  #/usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf
 出现
 Running: /usr/local/pureftpd/sbin/pure-ftpd -A -c50 -B -C8 -D -E -fftp -H -I5 -L10000:8 -m4 -s -U133:022 -u100 -j -k99 -Z
 表示正常
 
# netstat -anltp | grep 21
 tcp        0      0 0.0.0.0:21                  0.0.0.0:*                  LISTEN      13418/pure-ftpd (SE
 tcp        0      0 :::21                      :::*                        LISTEN      13418/pure-ftpd (SE

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-06/103267p2.htm

PureFtp+PureAdmin: 实现基于虚拟账号的 FTP 服务器 http://www.linuxidc.com/Linux/2013-06/85728.htm

Vsftpd 虚拟用户的配置及 PureFtp 配置解析 http://www.linuxidc.com/Linux/2012-12/76502.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计12463字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中