參考:
* M {( p! F( N. f; Vhttp://www.111cn.net/sys/CentOS/88456.htm
/ }0 i1 b6 r% J+ m9 D- [! |https://www.centos.bz/2011/03/centos-pureftpd-install/: \* _2 I1 z$ a& i# Y, a
" e4 I) t6 ], J, _" s" D
通过Yum安装Pure-ftpd的详细步骤如下:
9 W- k1 a; M$ y* m7 I7 O& F9 N: [1 O( N
步骤一:配置yum源以下是針對 CentOS 6.X- i5 q) Z) f1 v& H" ?
备份(如有配置其他epel源)
% _) X/ A6 [( P" h( F6 W% T- fmv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.backup
- [; ^7 Y; r- i$ Z5 s. }7 G下载新repo 到/etc/yum.repos.d/4 |# ~) o B2 Z/ K5 v4 _
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo" H8 P: f; ]- e! h; b: D
yum makecache
! p F7 M: {3 I7 x8 ?$ M/ N$ f
5 \$ m" d8 _) w: L0 [1 |1 Z" r以下是針對 CentOS 5.X, m }$ [6 }# h
cd /etc/yum.repos.d/" G' X0 t7 F }% R
wget http://centos.karan.org/kbsingh-CentOS-Extras.repo
6 _$ o6 t7 F0 G4 s5 ]
" x* S6 p0 F9 {/ v必需激活kbs-CentOS-Testing庫。打開kbsingh-CentOS-Extras.repo文件,把enabled=0改成enabled=1。1 h9 h# V" |9 N, Q+ C
vi kbsingh-CentOS-Extras.repo
4 I9 B8 H; A; _& Q v( X- [kbs-CentOS-Testing]
- name=CentOS.Karan.Org-EL$releasever - Testing
- gpgcheck=1
- gpgkey=http://centos.karan.org/RPM-GPG-KEY-karan.org.txt
- enabled=1
- baseurl=http://centos.karan.org/el$releasever/extras/testing/$basearch/RPMS/
複製代碼 接着我們導入GPG key到軟件庫- rpm --import http://centos.karan.org/RPM-GPG-KEY-karan.org.txt
複製代碼 如果步驟一失敗的話,使用以下指令:
! z4 V2 U, K- j0 P# `8 prpm -Uvh ftp://ftp.trychlos.org/pub/CentOS/6.3/pcalfs/x86_64/RPMS/epel-release-6-7.noarch.rpm (CentOS 6.7)5 @1 r! j; u' Y- ~. A% S# c% C
上列是以CentOS 6.7,假如是CentOS 6.8 則在google 搜尋 epel-release-6-8.noarch.rpm的載點,以此類推
; y; e9 N( K5 Z \# I8 s2 e8 a1 F
& p+ {& X+ v" n0 |步骤二:yum安装
@) ?( P5 u& R" q- f" vyum install pure-ftpd -y. L0 r- J" A' x0 C4 w
$ z" Y/ X4 w; U# _0 ?. ?) Q/ U步骤三:修改配置文件
' u) C h3 a& m$ f& [+ wvim /etc/pure-ftpd/pure-ftpd.conf5 S( B& S% l$ w2 \& C
3 Y5 E' d1 z6 R) v2 N/ W) E* }PureDB /etc/pure-ftpd/pureftpd.pdb
+ h4 o$ c2 m' v* m7 A. Q: N8 O ?5 t#去掉这行注释,指定路径,PureDB用户数据库文件
' w+ p) p. z5 @( x: b4 i7 K D1 s. oVerboseLog yes
! @% O! Q6 H& j0 [#开启日志 /var/log/pureftpd.log
- U% `2 u5 i# t5 HNoAnonymous yes' |7 i8 C) y0 D% U7 X+ m' {
#拒绝匿名用户登录8 d- C0 l& g* a: m0 s7 V4 v
PassivePortRange 48000 50000! C) B5 W9 V; k8 g9 f& |9 O
#使用被动模式,限制端口。1 X9 u* j6 n" w0 a7 X4 w
* U2 P( i o: Q: h! z* K* U0 l
! t$ a; A0 f" M: `9 c3 W$ t" y7 n! F; d+ r
步骤四:配置防火墙策略: }2 ~& I+ B ~4 b
iptables -A INPUT -p tcp --dport 21 -j ACCEPT- B) T" o. Y' ], |8 S# G3 n
iptables -A INPUT -p tcp --dport 48000:50000 -j ACCEPT3 p C( N, q' m u
% Z7 c1 [: d( ^! r4 g/ F
步骤五:启动pure-ftpd
; C/ f9 w! @' D. ichkconfig pure-ftpd --level 345 on (設定每次開機自動執行)
( t$ P s, z. C) P! h假如找不到chkconfig,which chkconfig 可以找到它的目錄位置,一般應該在/sbin,如果/sbin也沒有則表示沒安裝chkconfig1 b* o9 w1 T' A7 b1 G
yum install chkconfig 安裝chkconfig$ D9 }7 V0 N5 C% d: b7 f ]
假如安裝完也 chkconfig: command not found/ C. S6 U: W# A: y( m) Z% I
則做一個連結
" g( g. P, w" f% D% H0 jln -s /sbin/chkconfig /usr/bin/9 }$ O" f- q3 t. Y& s9 [
C- j2 K L+ X" O% x/ f0 C
/etc/init.d/pure-ftpd start 或 service pure-ftpd start使用源碼安裝請參考 http://www.111cn.net/sys/CentOS/88456.htm假如 service pure-ftpd start 也顯示 service: command not found
8 O8 [: J: z4 [* _% F- N也作一個連結
# @$ j/ E- G6 p) H8 cln -s /sbin/service /usr/bin/5 i8 T+ Y5 x) |% h. |' Q5 D+ h
) A8 h2 F8 i9 Y) u! A6 @ N安裝 ftp client :
& `+ E4 }0 d9 J7 K# P( s- vyum install ftp -y
' J& U/ H3 P7 p2 A& Y# j3 O5 K" z0 I2 W0 }! i: A2 v" A
註: O! ?' m& P' Z
1 M: U }: r( A
1.2 L+ r( {! W+ z! o
when login ftp show error:. K w. @5 } B* o0 N& b x, R
530 Login authentication failed
1 h& \7 v S% x) ?$ s* ELogin failed.
6 M5 u+ ?. g3 \
5 w% E2 N; |; L( I9 p0 ^. b
3 J, J+ |3 z+ l$ @check /var/log/secure
) H' C" Z# b" h( P3 z. t& p' rNov 3 10:03:44 DLTB-2475 pure-ftpd: pam_listfile(pure-ftpd:auth): Couldn't open /etc/ftpusers
7 ]0 o3 S* s& o' W& B# _Nov 3 10:03:44 DLTB-2475 pure-ftpd: PAM audit_log_acct_message() failed: Operation not permitted6 K k0 c# i- F' \: z X5 z
! p6 v) Z" w6 nSol:4 N, W" D2 O- U! T( i5 P5 e
vi /etc/pure-ftpd/pure-ftpd.conf
" O$ | ^' F) s; i9 X, {將PAMAuthentication 認證改成 UnixAuthentication認證 ,即2 H+ X- L+ F j
#PAMAuthentication yes 註解掉 q0 f+ \6 { i" l* _5 }) U
UnixAuthentication yes 取消註解
1 _5 ^5 {! b' H7 o4 X K1 mservice pure-ftpd restart4 s1 Z" I: I9 n
$ y q; ~! e8 F( b- `6 K S3 Q& U, i2.! I1 v% C9 v& C$ P4 q q# s
When login ftp server from remote host show errors:' w4 h0 Y ^& R D9 u( q; G
connect: No route to host
( U" S, ]4 n/ N1 s' d原因是防火牆擋住了,或iptable没有預設NAT處理,SOL:( u, A8 b k# B9 i4 x: F& k
stop iptables or 適當設定 iptables
; S( G+ Z6 F& C或
. p3 ?1 V: B0 j, o- h/ fvi /etc/sysconfig/iptables-config
- b0 K- }) t$ d. o) g% r更改 IPTABLES_MODULES=”” 為 IPTABLES_MODULES=”ip_nat_ftp ip_conntrack_ftp”
( ?+ X, H" o7 jservice iptables reload! f: l! I4 l$ W
! w1 `+ v$ G/ w0 o/ A- o) q3.
0 N7 P, y( n& p6 |/ _! ?9 r8 c421 Unable to read the indexed puredb file (or old format detected) - Try pure-pw mkdb* X* ?/ r5 r* [3 {! c/ X
Login failed.
: I. x8 B* a' n& H2 h9 c/ H6 ^! g0 N. G
SOL:
; x! w+ [+ G* E! Cvi /etc/pure-ftpd/pure-ftpd.conf
) ^$ u! O' z3 G" M0 i將 PureDB /etc/pure-ftpd/pureftpd.pdb 註解掉
/ f7 ]6 o8 m2 Z! E, @- N7 I4.
" f) i* j1 Y$ A' f* \/ _# m( yftp> put file3 A' F+ ]! z& n3 p A. ?: G3 @
local: file remote: file
* q! E ?* z. v227 Entering Passive Mode (122,117,11,31,193,78)
2 Q) [ _6 W) S& J) H7 C9 V6 z4 Z553 Can't open that file: Permission denied
) J! O K9 h* P4 j# U( [) y/ R6 E! b: W, {+ T3 M9 g6 g
SOL:
- R0 N4 A: }" X( a" g7 H% ~ls -l /home/user17 J6 l; q" ]# s6 }9 v. b. R
drwxr-xr-x. 2 root root 4096 2016-01-17 04:46 user1* i) M$ E n3 `- }9 E; Z
chown user1:user1 /home/user1
7 P/ w9 _! Q8 }; P: y+ k0 Z d& W& j" s+ i$ H0 g$ D
[ftp 指令]; M2 Y! u( @2 o, W9 I
lcd 改變local目錄1 z5 ^+ e% V; I q- k9 e' Q( |
lls 查看local目錄或檔案 (等同 !ls)( ]& ^0 k1 M; _: |% c8 _7 V0 T3 [
; O \2 ^$ i, w4 O7 w8 Q# ?9 j- e! E5 c9 Y- {) U, y/ S4 k8 D6 {2 N: o8 g
" g4 D, U! S; ]9 s- T4 u, e2 e6 l' e( c& Y) W5 K% K
|
|