http://www.ttlsa.com/linux/how-to-install-pureftpd/
看了這篇文章[幾個小坑]總結如下:
1.最重要的一點,代碼不要復制,有些符號肉眼看不出來。 ./configure -–prefix=/usr/local/pureftpd -–with-puredb -–with-everything --with-cookie --with-diraliases --with-extauth --with-ftpwho --with-language=english --with-ldap --with-minimal --with-mysql --with-nonroot with 是倆英文的中划線![-–with-pured] 2.purd-ftpd.conf MinUID 1000 //用戶ID至少要大於1000才能登陸 這一行一定要注釋了,不然登錄不了,官網限制的100! 3. ./pure-pw useradd puser –u ftpuser -g ftpgroup–d /www/ftptest –m [原始文章里的] ./pure-pw useradd puser -u ftpuser -g ftpgroup -d /www/ftptest –m [看出區別了嗎] puser 是ftp客戶端登陸的賬號,登陸密碼是以上命令執行后輸入的 4. Bind 127.0.0.1,21 //綁定IP和端口 [修改默認端口] 其實很簡單,讓我搞了一個多小時! 並不是所有代碼可以復制的!
===============
工作中總會離不開FTP,這些年一直習慣用pureftp,很久沒安裝,找到以前寫的文檔,這次順便把文檔整到ttlsa里,以后可以參考。以前自己寫文檔確實很啰嗦。
准備pureftp
|
1
2
3
|
#cd /usr/local/src/
#wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.22.tar.gz
#tar –xzvf pure-ftpd-1.0.22.tar.gz
|
編譯和安裝
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#cd pure-ftpd-1.0.22
#.configure \
–
prefix
=
/
usr
/
local
/
pureftpd
\
//pureftpd安裝目錄
–
with
-
everything
\
//安裝幾乎所有的功能,包括altlog、cookies、throttling、ratios、ftpwho、upload script、virtual users(puredb)、quotas、virtual hosts、directory aliases、external authentication、Bonjour、privilege separation本次安裝只使用這個選項。
--
with
-
cookie
\
//當用戶登錄時顯示指定的橫幅
--
with
-
diraliases
\
//支持目錄別名,用快捷方式代cd命令
--
with
-
extauth
\
//編譯支持擴展驗證的模塊,大多數用戶不使用這個選項
--
with
-
ftpwho
\
//支持pure-ftpwho命令,啟用這個功能需要更多的額外內存
--
with
-
language
=
english
\
//修改服務器語言,默認是英文,如果你要做修改,請翻譯‘src/messages_en.h’文件
--
with
-
ldap
\
//LADP目錄支持,需要安裝openldap
--
with
-
minimal
\
//FTP最小安裝,最基本的功能
--
with
-
mysql
\
//MySQL支持,如果MySQL安裝在自定義目錄上,你需要使用命令—with-mysql=/usr/local/mysq這類
--
with
-
nonroot
\
//不需要root用戶就可以啟動服務
#make
#make install
|
安裝配置文件
|
1
2
3
4
5
6
7
8
9
10
|
#cd /usr/local/src/pure-ftpd-1.0.22 //切換到源碼目錄
#cd configuration-files //切換到這個目錄
#chmod 755 pure-config.pl //讓用戶有完全權限(因為默認沒有執行權限)
#cp pure-config-pl /usr/local/pureftpd/bin //把執行文件復制到bin目錄下
#mkdir /usr/local/pureftpd/etc //新建FTP的配置文件夾目錄
#cp pure-ftpd.conf /usr/local/pureftpd/etc //復制ftp配置文件到etc中
#cd .. //切換到/pure-ftpd-1.0.22目錄中
#cp pureftpd-ldap.conf /usr/local/pureftpd/etc //相關配置文件復制到etc中
#cp pureftpd-mysql.conf /usr/local/pureftpd/etc //相關配置文件復制到etc中
#cp pureftpd-pgsql.conf /usr/local/pureftpd/etc //相關配置文件復制到etc中
|
pure-ftpd.conf配置
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
ChrootEveryone
yes
//鎖定所有用戶到家目錄中
# TrustedGID 100 //信任組ID100,可以不鎖定
MaxClientsNumber
50
//最大的客戶端數量
MaxClientsPerIP
8
//同一個IP允許8個鏈接
DisplayDotFiles
no
//不顯示隱藏文件
AnonymousOnly
no
//只允許匿名用戶
NoAnonymous
yes
//不允許匿名用戶
DontResolve
yes
//禁止反向解析
MaxIdleTime
10
//最大空閑10分鍾
# LDAPConfigFile /etc/pureftpd-ldap.conf //LDAP配置文件目錄
# MySQLConfigFile /etc/pureftpd-mysql.conf//MySQL配置文件目錄
# PGSQLConfigFile /etc/pureftpd-pgsql.conf //PGSQL配置文件目錄
PureDB
/
usr
/
local
/
pureftpd
/
etc
/
pureftpd
.
pdb
//虛擬用戶數據庫
# UnixAuthentication yes //主機認證
LimitRecursion
2000
8
//別表最大顯示2000個文件,最深8個目錄
AnonymousCanCreateDirs
no
//是否允許匿名用戶創建目錄
#MaxLoad 4 //最多可下載的數量
# PassivePortRange 30000 50000 //主動連接的端口范圍
ForcePassiveIP
192.168.0.1
//這個地址總是直到匿名目錄
# AnonymousRatio 1 10 //匿名用戶上傳下載速度比率
# UserRatio 1 10 //用戶上傳下載速度比率
# Bind 127.0.0.1,21 //綁定IP和端口
# AnonymousBandwidth 8 //匿名用戶帶寬8KB
# UserBandwidth 8 //用戶帶寬8KB
Umask
133
:
022
//文件和目錄的umask
MinUID
1000
//用戶ID至少要大於1000才能登陸
AllowUserFXP
no
//是否允許用戶使用FXP協議登陸
AllowAnonymousFXP
no
//是否允許匿名用戶使用FXP協議
ProhibitDotFilesWrite
no
//是否允許寫入點文件
ProhibitDotFilesRead
no
//是否允許讀取點文件
AnonymousCantUpload
yes
//不允許匿名用戶上傳
#NoChmod yes //不允許用戶改變權限
#KeepAllFiles yes //允許用戶斷點續傳
#Quota 1000:10//磁盤配額
#MaxDiskUsage 99 //磁盤的最大利用率
#NoRename yes //不允許自動重命名
IPV4Only
yes
//只允許使用IPV4協議
|
新建虛擬用戶
注意:新建虛擬用戶之前需要創建一個組合用戶(屬於操作系統上的)。
|
1
2
3
4
5
6
7
|
#groupadd ftpgroup //新建系統組
#useradd –g ftpgroup –d /dev/null –s /sbin/nologin ftpuser //新建用戶加入ftpgroup中
#cd /usr/local/pureftpd/bin //切換到bin目錄中
#./pure-pw useradd puser –u ftpuser –d /www/ftptest –m
//pure-pw useradd 虛擬用戶名 –u 寄生到系統用戶名 –d FTP目錄 –m(把用戶密碼加入PDB數據庫中,不需要重啟FTP)
#cd /www //切換到WWW中
#chmod –R ftpuser:ftpgroup ftptest //把FTP目錄的所屬用戶和組改為虛擬用戶所依托的系統用戶和組
|
啟動測試
|
1
2
|
#/usr/local/pureftpd/bin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf
Running
:
/
usr
/
local
/
pureftpd
/
sbin
/
pure
-
ftpd
-
A
-
c50
-
B
-
C8
-
E
-
fftp
-
H
-
I10
-
lpuredb
:
/
usr
/
local
/
pureftpd
/
etc
/
pureftpd
.
pdb
-
L2000
:
8
-
s
-
U133
:
022
-
u1000
-
i
-
Z
-
4
|
注:如果出現running說明啟動成功。
接下來ftP連接進行測試
接下來ftP連接進行測試
