pureftp+mysql+pureadminphp
若是文檔內的軟件下載連接不可用時,能夠在http://down.51cto.com/data/785958 裏面下載 html
LAMP的版本:python
linux: Centos 5.8 X64mysql
apache:Apache/2.2.23linux
php:PHP 5.3.20ios
mysql:mysql5.1.65web
查看Linux版本sql
[root@zhao ~]# cat /etc/redhat-release 數據庫
CentOS release 5.8 (Final)apache
[root@WEB-A ~]# uname -m
x86_64
查看apache 版本
[root@zhao ~]# /application/apache/bin/apachectl -v
Server version: Apache/2.2.23 (Unix)
Server built:Jan 10 201309:52:51
查看php版本
[root@zhao ~]# /application/php/bin/php -v
PHP 5.3.20 (cli) (built: Jan 10 2013 14:21:42)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
查看MySQL版本
[root@zhao tools]# mysqladmin-u root -p123456 version
mysqladminVer 8.42 Distrib 5.1.65, forunknown-linux-gnu on x86_64
Copyright (c) 2000, 2011,Oracle and/or its affiliates. All rights reserved.
Oracle is a registeredtrademark of Oracle Corporation and/or its
affiliates. Other names maybe trademarks of their respective
owners.
Server version5.1.65-log
Protocol version10
ConnectionLocalhost via UNIX socket
UNIX socket/application/mysql5.1.65/tmp/mysql.sock
Uptime:1 hour 53 min 1 sec
Threads: 1Questions: 112Slow queries: 0Opens: 15Flush tables: 1Open tables:9Queries per second avg: 0.16
yum install -y httpd php php-mysql mysqlmysql-server mysql-devel
service httpd start
service mysqld start
mysqladmin -u root -p password '123456'
Pure-FTPd 是一款免費(BSD)的,安全的,高質量和符合標準的FTP服務器。 側重於運行效率和易用性。 它提供了簡單的答案,他知足了大衆化的需求,包括普通用戶以及主機供應商們。
實現功能:經過web管理ftp用戶,實現新增、刪除、密碼修改、上傳/下載限速、磁盤限額、文件數量等。
(1)下載pureftpd
cd /home/zhao/tools/
wget ftp://ftp.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.36.tar.gz
或者 http://download.pureftpd.org/pub/pure-ftpd/releases/
tar -zxvf pure-ftpd-1.0.36.tar.gz
cd pure-ftpd-1.0.36
(2)編譯安裝
./configure --prefix=/usr/local/pureftpd --with-mysql--with-shadow --with-pam --with-welcomemsg --with-uploadscript --with-cookie--with-virtualchroot --with-virtualhosts --with-diraliases --with-quotas--with-puredb --with-sysquotas --with-ratios --with-ftpwho --with-throttling--with-language=simplified-chinese
//各編譯選項的含義,能夠參考./configure –help
./configure \
--prefix=/usr/local/pureftpd \ //安裝目錄
--with-mysql \ //ftp服務器支持mysql驗證
--with-shadow \ //支持本地的
--with-pam \ //支持pam進行身份驗證
--with-welcomemsg \ //歡迎信息
--with-uploadscript \ //上傳以後能夠支持的腳本
--with-cookie \ //緩存
--with-virtualchroot \ //支持軟鏈接
--with-virtualhosts \ //支持虛擬主機
--with-diraliases \ //支持目錄別名
--with-quotas \ //配額
--with-puredb \ //用來存放虛擬帳號和本地帳號映射關係的數據庫
--with-sysquotas \ //跟配額相關的
--with-ratios \
--with-ftpwho \
--with-throttling \ //溢值
--with-language=simplified-chinese //支持簡體中文
make &&make install
…………………………………………………………………………………………………
checking for mysql_init in -lmysqlclient... no
configure: error: libmysqlclient is needed for MySQL support
編譯時候若出現上面的提示,則安裝mysql和mysql-devel RPM包,這裏爲了簡便,直接使用rpm方式解決
yum -y install mysql mysql-devel
編譯安裝pure-ftpd出現configure: error: Your MySQL client libraries aren’t properlyinstalled錯誤
若編譯方式安裝mysql數據庫,前面的編譯選項能夠改"--with-mysql=/usr/local/mysql",並將/usr/local/mysql目錄下的頭文件和開發庫文件加入ld.so.conf,該文件維護着系統的動態連接庫
echo "/usr/local/mysql/">> /etc/ld.so.conf
ldconfig
mkdir /usr/local/pureftpd/etc
cppureftpd-mysql.conf /usr/local/pureftpd/etc/
cp configuration-file/pure-ftpd.conf /usr/local/pureftpd/etc/
cp configuration-file/pure-config.pl /usr/local/pureftpd/sbin/
chmod +x /usr/local/pureftpd/sbin/pure-config.pl
mkdir /home/ftproot
chmod -R777 /home/ftproot //可能會引發登陸時報421錯誤
useraddvirtualftp -d /home/ftproot -s /sbin/nologin -M //建立接下來的虛擬用戶對應的系統用戶
chownvirtualftp:virtualftp /home/ftproot
grep -v '^#'/usr/local/pureftpd/etc/pure-ftpd.conf |uniq|grep -v '^#'
//修改主配置文件以下,各項配置的含義能夠參考配置文件註釋
ChrootEveryoneyes
TrustedGID99
BrokenClientsCompatibility yes
MaxClientsNumber5
Daemonizeyes
MaxClientsPerIP3
VerboseLogno
DisplayDotFilesyes
AnonymousOnlyno
NoAnonymousyes
SyslogFacilityftp
DontResolveyes
MaxIdleTime5
MySQLConfigFile/usr/local/pureftpd/etc/pureftpd-mysql.conf
LimitRecursion10000 8
AnonymousCanCreateDirsno
MaxLoad4
AntiWarezyes
Umask133:022
MinUID99
AllowUserFXPno
AllowAnonymousFXPno
ProhibitDotFilesWriteno
ProhibitDotFilesReadno
AutoRenameno
AnonymousCantUploadno
PIDFile/var/run/pure-ftpd.pid
MaxDiskUsage99
CustomerProofyes
IPV4Onlyyes
CreateHomeDiryes
配置文件詳細解釋
# vim pure-ftpd.conf
# 將每一個用戶限制在本身的home目錄下
ChrootEveryone yes
# 兼容ie等比較非正規化的ftp客戶端。默認:no
BrokenClientsCompatibility yes
# 最大用戶鏈接數。默認:50
MaxClientsNumber 2000
# 後臺模式(守護進程模式)
Daemonize yes
# 同一個IP容許鏈接數(能夠防止迅雷、快車等程序瘋狂開線程)。默認:8
MaxClientsPerIP 20
# 若是要記錄全部的客戶端命令,請設置爲‘yes’該選項能夠將日誌同步複製到日誌服務器。默認:no
VerboseLog yes
# 顯示隱藏文件。默認:yes
DisplayDotFiles yes
# 不容許驗證用戶。只做爲匿名ftp服務器。默認:no
AnonymousOnly no
# 不容許匿名用戶鏈接。只容許驗證用戶鏈接。默認:no
NoAnonymous no
# 該選項是說將何種類型的日誌同步寫入到syslog中。
# 類型包括(auth, authpriv, daemon, ftp, security, user, local*)
# 默認是"ftp"若是不想將ftp的日誌顯示在/var/log/message中。則禁用便可: "none"
SyslogFacility none
# 顯示 cookies
# FortunesFile /usr/share/fortune/zippy
# 在日誌文件中不解析主機名。日誌越詳細所須要的帶寬也就越大。若是服務器的
# DNS解析有問題或者服務器的負載過大,建議將該選項配置yes。默認爲:yes
DontResolve yes
# 最大空閒時間。單位:分鐘 (默認 = 15 分鐘)
MaxIdleTime 15
# LDAP 配置文件
# LDAPConfigFile /etc/pureftpd-ldap.conf
# MySQL 配置文件 (詳情見 README.MySQL)
# MySQLConfigFile /etc/pureftpd-mysql.conf
# Postgres 配置文件 (詳情見 README.PGSQL)
# PGSQLConfigFile /etc/pureftpd-pgsql.conf
# PureDB 用戶數據庫 (詳情見 README.Virtual-Users)
# PureDB /etc/pureftpd.pdb
# pure-authd 的 socket 路徑 (詳見README.Authentication-Modules)
# ExtAuth /var/run/ftpd.sock
# 若是要使用PAM驗證,取消下面行的註釋
# PAMAuthentication yes
# 若是要使用/etc/passwd 文件驗證。取消下面行的註釋
# UnixAuthentication yes
# 注意:LDAPConfigFile, MySQLConfigFile, PAMAuthentication 與 UnixAuthentication
# 只能啓用一個,但他們能夠聯合使用。例如:你啓用了 MySQLConfigFile 以後又啓用了
# UnixAuthentication那麼同一時刻只有SQL server 可用。若是SQL authentication 失敗,
# 例如用戶沒有找到,那麼系統會重試其餘的方式來驗證,這時候它就會找/etc/passwd 和
# /etc/shadow文件. 若是經過 SQL 驗證的結果是由於密碼錯誤,那麼就不會在進行下面的
# 驗證了。由此得知,驗證方法能夠寫多個,但同一個時刻只有一個工做,且當驗證時找不
# 到信息時纔會進行下一個驗證方式。但當驗證錯誤時就終止驗證了。
# 'ls' 遞歸限制。第一個參數是最大可顯示的文件數。第二個參數是子文件夾深度
LimitRecursion 2000 8
# 匿名用戶是否能夠建立新文件夾
AnonymousCanCreateDirs no
# 若是系統負載超過下面所給的數字,那麼匿名用戶將沒法下載
MaxLoad 4
# 在被動鏈接模式下爲其分配的端口範圍。便於制定防火牆配置。
PassivePortRange 45000 50000
# 強制某個IP地址工做在 PASV/EPSV/SPSV 模式. - for NAT.
# ForcePassiveIP 192.168.0.1
# 匿名用戶上傳/下載比率
# AnonymousRatio 1 10
# 全部用戶上傳/下載比率。該選項能夠取代上面的選項
# UserRatio 1 10
# 禁止下載全部者爲‘ftp’的文件。例如:那些匿名用戶上傳後未被本地管理員驗證的文件。
AntiWarez yes
# 用來監聽的IP地址和端口 (默認=全部 IP 和 21 端口).
# Bind 127.0.0.1,21
# 匿名用戶最大帶寬限制,單位 KB/s
AnonymousBandwidth 200
# 全部用戶的最大帶寬限制(包括匿名)單位 KB/s
# 沒有必要同時開啓 AnonymousBandwidth 和 UserBandwidth
# UserBandwidth 8
# 新建文件默認掩碼. <文件掩碼>:<目錄掩碼>
# 爲了安全起見能夠設置爲 177:077
Umask 133:022
# 驗證登陸用戶的最小UID
MinUID 100
# 僅容許認證用戶進行 FXP 傳輸
AllowUserFXP no
# 對匿名用戶和非匿名用戶容許進行匿名 FXP 傳輸
AllowAnonymousFXP no
# 用戶不能刪除/寫入隱藏文件,即使是文件的擁有者也不容許。
# 若是 TrustedGID 選項爲 enabled 文件所屬組用戶能夠訪問隱藏文件
ProhibitDotFilesWrite no
# 禁止讀取隱藏文件 (如 .history, .ssh...)
ProhibitDotFilesRead no
# 永不覆蓋文件。若是上傳的文件已經存在,系統會自動將其命名爲file.1, file.2, file.3, ...
AutoRename yes
# 不容許匿名用戶上傳文件 (no = 容許上傳)
AnonymousCantUpload no
# 僅容許來自如下IP地址的非匿名用戶鏈接。你可使用這個指令來打開幾個公
# 網IP來提供匿名FTP,而保留一個私有的防火牆保護的IP來進行遠程管理。你
# 還能夠只容許一內網地址進行認證,而在另一個IP上提供純匿名的FTP服務。
#TrustedIP 10.1.1.1
# 若是你要在登錄日誌的每一行添加PID標記,去掉下行的註釋
#LogPID yes
# 使用相似於Apache格式建立一個附加的日誌文件,如:
# fw.c9x.org - jedi[13/Dec/1975:19:36:39] "GET /ftp/linux.tar.bz2" 200 21809338
# 這個日誌文件能夠被www流量分析工具來處理
AltLog clf:/var/log/pureftpd.log
# 使用優化過的格式爲統計報告建立一個額外的日誌文件
# AltLog stats:/var/log/pureftpd.log
# 使用標準的W3C格式建立一個額外的日誌文件。(與大部分的商業日誌分析器兼容)
# AltLog w3c:/var/log/pureftpd.log
# 不容許使用chmod命令.用戶不能修改他們上傳文件的屬性
#NoChmod yes
# 容許用戶恢復和上傳文件,但不可以上除他們
#KeepAllFiles yes
# 用戶主目錄不存在的話,自動建立目錄
#CreateHomeDir yes
# 啓用虛擬磁盤配額。第一個參數是最大文件數,第二個參數是總共的大小,單位是MB
# 如: 1000:10 限制每一個用戶最大文件1000個且不能超過10MB
#Quota 1000:10
# 若是你在編譯 pure-ftpd 時加入了‘standalone’選項,那麼你能夠更改pid文件位置
# 默認目錄 /var/run/pure-ftpd.pid
#PIDFile /var/run/pure-ftpd.pid
# 若是你在編譯 pure-ftpd 時加入了 pure-uploadscript 選項,這個指令將會使
# pure-ftpd 發送關於新上傳的狀況信息到 /var/run/pure-ftpd.upload.pipe,
# 這樣 pure-uploadscript 就能讀而後調用一個腳本去處理新的上傳。
#CallUploadScript yes
# 這個選項對於匿名上傳的服務器是頗有用的。/var/ftp 在 /var 裏時,須要保留必定
# 磁盤空間來保護日誌文件。當所在磁盤分區使用超過百分之 X 時,將不在接受新的上傳。
MaxDiskUsage 99
# 若是不想讓用戶來重命名文件,請將其設置爲yes
#NoRename yes
# 'customer proof' : 選項能夠阻止普通用戶因誤操做而執行的錯誤命令
# 如:'chmod 0 public_html', 這是有效的命令,但執行完命令以後用戶
# 就將他們本身的文件鎖定了,這時你的麻煩就來了,你須要給用戶解決這
# 些因爲用戶而形成的愚蠢問題。若是你確信的你用戶都具備一些unix基礎
# 知識的話,那麼該選項就沒有必要設置,不然建議啓用它。
CustomerProof yes
# 全部用戶都作一樣的限制。只有編譯時加入了--with-peruserlimits 選項
# 才能夠啓用。格式爲: <每個用戶最大許可的進程>:<匿名用戶最大進程>
# 例如:3:20 同一個認證用戶最大能夠有3個同時活動的進程。並且同時最多
# 只能有20個匿名用戶進程
# PerUserLimits 3:20
# 當文件上傳時,服務器上以前已經有一個同名的文件時,舊的文件既不會被移動
# 也不會被刪除。在新文件上傳完畢以前會將上傳的部分暫時放到一個臨時的文件
# 中,當上傳完畢以後會自動的切換到新上傳的文件。例如:當服務器上有一個PHP
# 腳本正在執行,但我如今要上傳一個新的PHP腳本,那麼當我在上傳完畢以後纔將
# 舊的文件切換到新的文件。而不是像某些程序那樣在開始上傳的時候就將舊的文件
# 覆蓋掉了,這樣作的目的就是能夠最大程度的減小正在運行中的程序錯誤。該選項
# 與虛擬配額不能同時使用。
# NoTruncate yes
# 該選項能夠接受3個可選值:
# 0 : 禁用 SSL/TLS 加密層 (默認).
# 1 : 同時接受傳統的和加密的鏈接
# 2 : 拒絕沒有通過 SSL/TLS 安全驗證的鏈接,包括匿名鏈接
# 在沒有肯定下面三個問題以前不要盲目的取消註釋:
# 1) 編譯PureFTPd時是否啓用了 SSL/TLS 支持 (--with-tls),
# 2) 系統中是否包含一個有效的證書
# 3) 開啓後只有兼容的客戶端才能登錄
# TLS 1
# 在 standalone 模式下只監聽IPV4的地址 (與禁用 IPv6 相同)
# 默認是IPV4與IPV6同時監聽
# IPV4Only yes
# 在 standalone 模式下只監聽IPV6的地址 (與禁用 IPv4 相同)
# IPV6Only yes
# 文件名的UTF-8支持
# FileSystemCharset big5
# ClientCharset big5
/usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf //試啓動pureftpd服務
Running: /usr/local/pureftpd/sbin/pure-ftpd -A -a99 -c5 -B -C3 -D -E -fftp -H-I5 -lmysql:/usr/local/pureftpd/etc/pureftpd-mysql.conf -L10000:8 -m4 -s-U133:022 -u99 -g/var/run/pure-ftpd.pid -k99 -Z -4
# cat /usr/local/pureftpd/etc/pureftpd-mysql.conf| grep-v "#" | grep -v"^$"
MYSQLServerDB_ip//數據庫服務器
MYSQLPort3306//數據庫鏈接端口
MYSQLSocket/application/mysql/tmp/mysql.sock
MYSQLUserftp//鏈接數據庫用戶
MYSQLPasswordredhat//鏈接數據庫密碼
MYSQLDatabaseftpusers//鏈接的數據庫庫名
MYSQLCryptmd5//密碼加密方式
MYSQLGetPWSELECTPassword FROM users WHERE User="\L" //密碼驗證使用的表名MYSQLGetUIDSELECTUid FROM users WHERE User="\L" //UID驗證使用的表名
MYSQLGetGIDSELECTGid FROM users WHERE User="\L" //GID驗證使用的表名
MYSQLGetDirSELECTDir FROM users WHERE User="\L" //目錄驗證使用的表名
啓動pureftpd
/usr/local/pureftpd/sbin/pure-config.pl/usr/local/pureftpd/etc/pure-ftpd.conf
啓動自動運行
cd /home/zhao/tools/pure-ftpd-1.0.36/contrib/
[root@mysql-B contrib]# ls
MakefileMakefile.inpure-vpopauth.plsuse.init
Makefile.ampure-stat.plredhat.initxml_python_processors.txt
cp redhat.init /etc/init.d/pureftpd
chmod 755 /etc/init.d/pureftpd
vim /etc/init.d/pureftpd
pureadmin是pureftpd的後臺管理程序,能夠經過此程序去管理mysql 數據庫的賬戶。程序以perl cgi 方式運行,採用了模板結構。
一、用戶管理 二、用戶自助註冊(須要在系統裏打開)三、用戶可自主修改密碼 四、 查看當前在線用戶 五、查看用戶空間使用狀況 六、採用模塊方式、模板美觀。 七、程序提示等大部分由英文改成中文 八、增長了圖片驗證碼
一、linux/unix 系統 二、perl 5.6 以上 三、系統須要有下面的perl 模塊(大部份系統以自帶)四、apache/mysql
需求列表
apache
gd
jpeg
mysql-client
mysql-server
p5-DBD-mysql
p5-DBI
p5-GD
p5-GD-Barcode
p5-Storable
p5-gettext
perl
png
cd /home/zhao/tools/
wget http://www1.yiyou.org/docs/PureAdmin_03_php/pureftp.sql
vim pureftp.sql
導入前,建議修改docs/pureftp.sql 文件裏的 passwd 紅色部分,這是mysql 的用戶密碼,若是經驗不足,能夠不修改。
導入前須要修改此sql文件的15行:前2個減號空一格
15---------------------------------------------------------
INSERT INTO mysql.user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv,
Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv,
Index_priv, Alter_priv) VALUES('localhost','ftp',PASSWORD('passwd'),'Y','Y','Y','Y','N','N','N','N','N','N','N','N','N','N');
mysql -uroot -p <docs/pureftp.sql
50 INSERT INTO admin VALUES ('admin',MD5('passwd'));
[root@zhao docs]# mysql -u root -p123456 < pureftp.sql導入數據
[root@zhao docs]# mysql -u root -p123456
mysql> show databases;查看ftpusers 數據庫
+--------------------+
| Database|
+--------------------+
| information_schema |
| ftpusers|
| mysql|
| test|
+--------------------+
4 rows in set (0.16 sec)
mysql> use ftpusers;
Database changed
mysql> show tables;查看錶
+--------------------+
| Tables_in_ftpusers |
+--------------------+
| admin|
| users|
+--------------------+
2 rows in set (0.00 sec)
mysql> select * from admin;
+----------+----------------------------------+
| Username | Password|
+----------+----------------------------------+
| admin| e2798af12a7a0f4f70b4d69efbc25f4d |
+----------+----------------------------------+
1 row in set (0.01 sec)
cd /home/zhao/tools/
wget http://www1.yiyou.org/docs/PureAdmin_03_php/PureAdmin-0.3.tar.gz
[root@localhosttools]# tar -zxvf PureAdmin-0.3.tar.gz -C /application/apache/htdocs/
[root@localhosttools]# cd /application/apache/htdocs/
[root@localhosthtdocs]# mv PureAdmin-0.3 pureadmin
[root@localhosthtdocs]# cd pureadmin/
[root@localhostpureadmin]# vim config.php
<?php
$cfg['dbhost']='localhost'; //mysql host,必定要跟上面同樣
$cfg['dbname']='ftpusers';//mysql db name 所用的庫;與前面導入的sql中要一致>
$cfg['dbuser']='ftp'; //mysqluser 登陸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']='/home/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,*爲全部
?>
打開瀏覽器,輸入http://your_ip/ftp 便可訪問 默認用戶名:admin 密碼爲:passwd
界面欣賞
530 錯誤
99%是數據庫鏈接信息錯誤,http://www.vpser.net/manage/lnmp-pureftpd-cp.html裏已經說過localhost 和 127.0.0.1 在mysql連接的時候是不同的!
若是確認用戶名和密碼沒錯,登陸phpmyadmin查看ftp登陸用戶是localhost仍是 127.0.0.1
421錯誤
CreateHomeDir yes 容許用戶登陸後自動建立家目錄<必須>
啓動故障
[root@zhao-Betc]# /usr/local/pureftpd/sbin/pure-ftpd -j -lpuredb:/usr/local/pureftpd/etc/pureftpd.pdb
沒法啓動standalone server: ??????
解決方法:
vi pure-ftpd.conf
#Bind 127.0.0.1,21
改爲:
Bind 192.168.100.202,21
vi /usr/local/pureftpd/etc/pure-ftpd.conf
修改126行爲:
PureDB /usr/local/pureftpd/etc/pureftpd.pdb
修改214行爲
Bind192.168.1.11,21
pure-pw useradd user1 -u virtualftp -gvirtualftp -d /home/ftproot/user1 -m
說明:
user1是用戶名,-u virtualftp是其實際的linux用戶,-d指定起始目錄,並鎖定於該目錄。若是不鎖定,則用-D;若是須要不一樣的權限,能夠創建新的linux用戶與組
若是用的系統自帶的ftp用戶,這樣的話還需修改配置文件pure-ftpd.conf中的MinUID爲ftp用戶的UID 14,不然登陸時會出現530錯誤;因此這裏建議建立另外一個非系統自帶的用戶作映射
設置環境變量
echoPATH=$PATH:/usr/local/pureftpd/bin/ >>/etc/profile
source /etc/profile
pure-pwmkdb /usr/local/pureftpd/etc/pureftpd.pdb
說明:從此每添加或修改用戶數據庫都應該執行一次mkdb
以每一個用戶一行的方式存放在相應的文件中,其格式以下所示:
<account>:<password>:<uid>:<gid>:<gecos>:<homedirectory>:<upload bandwidth>:<download bandwidth>:<uploadratio>:<download ratio>:<max number of connections>:<filesquota>:<size quota>:<authorized local IPs>:<refused localIPs>:<authorized client IPs>:<refused client IPs>:<timerestrictions>
其中,除了賬號、口令、 uid 、 gid 和 home 目錄以外,其它的能夠是空值
pure-pwuseradd <login> [-f <passwd file>] -u <uid> [-g <gid>]
-D/-d<home directory> [-c <gecos>]
[-t<download bandwidth>] [-T <upload bandwidth>]
[-n <maxnumber of files>] [-N <max Mbytes>]
[-q<upload ratio>] [-Q <download ratio>]
[-r<allow client host>[/<mask>][,<allow clienthost>[/<mask>]]...]
[-R <denyclient host>[/<mask>][,<deny client host>[/<mask>]]...]
[-i<allow local host>[/<mask>][,<allow clienthost>[/<mask>]]...]
[-I <denylocal host>[/<mask>][,<deny local host>[/<mask>]]...]
[-y <maxnumber of concurrent sessions>]
[-z<hhmm>-<hhmm>] [-m]
若是pure-ftpd啓動時加入 -j(--createhome) 選項,則不須要建立/ftproot/tony目錄。系統會在該用戶第一次登錄時自動建立
參數說明
-t 下載帶寬限制
-T 上傳帶寬限制
-n 最大文件數目
-N 磁盤配額(單位M)
-q 上傳速度限制
-Q 下載速度限制
-r 容許某些ip/網段的客戶端訪問
-R 拒絕某些ip/網段的客戶端訪問
-i 容許本地某些ip/網段訪問(allow local host)
-I 拒絕本地某些ip/網段訪問(deny local host)
-y 同時最大鏈接數目
-z 容許鏈接服務器的時間段,格式hhmm-hhmm,如 -z 0412-1618表明用戶只能在凌晨4點12分至下午4點18分鏈接服務器
-f passwd_file
-F puredb_file
-m 沒必要重啓Pure-FTPd以及從新生成puredb_file文件
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,-ror -R> '' :禁用 IP 過濾
pure-pw usermod <user> -z '' :禁用時間段約束
pure-pw usermod <user> -y '' :禁用併發數限制
pure-pw userdel <login> [-f <passwdfile>] [-m]
這時,用戶的信息會被從指定的 passwd 文件中刪除,可是用戶的 home 目錄會被保留,須要手工刪除
5.8 更改一個用戶口令
pure-pw passwd <login> [-f<passwd file>] [-m]
/etc/pureftpd.passwd 文件中記錄的信息不方便用戶的閱讀
所以 pure-ftpd 提供了顯示用戶信息的命令
其語法是: pure-pw show <login> [-f <passwdfile>]
使得pure-ftpd支持虛擬用戶,須要在編譯的時候加入選項--with-puredb 。這時,能夠經過在啓動服務是的 ’-l’ 參數來設置。如:
/usr/local/pureftpd/sbin/pure-ftpd -j-lpuredb:/usr/local/pureftpd/etc/pureftpd.pdb &
[root@zhao-Bftproot]# ll
總計 12
drwxr-xr-x2 virtualftp virtualftp 4096 05-10 16:20 user2