在这个系统下配置的ftp服务器叫做vsftpd。* a; E- E; t1 k- H. ~& E3 T! m
$ m6 s/ P# g ]% ^& i* v5 Q步骤一:查看是否安装了它9 Z5 ^ `, v: O8 P$ w q
- G3 M' t/ ?) W& s" V: M2 svsftpd -v: s( y& m8 C3 g* G
9 H# n1 t1 Z6 H& ?5 z如果安装了这个命令会显示它的版本号
# t7 A @) y* r5 k! r6 C4 R1 ^2 H6 h7 X0 J( O% k0 f
如果没有安装则要:sudo apt-get install vsftpd" ~$ p6 @9 ~4 n( J; W0 b7 k
: Q* u/ Z3 N" E6 b2 Y0 Q( f步骤二:查看是否运行
- G1 x* ^$ a, L' L- S( d' D" P% t' m& D% q" [
systemctl status vsftpd ,如果这个服务运行了会在结果中看到active
( c, x+ T2 ?+ Z
1 v# I0 r9 ], v+ E2 w. Q如果没有运行则参照下面的命令
4 j& _" W3 x0 {& y9 p2 z
( y$ R2 T7 A7 ?0 usystemctl [start | stop | restart | reload | status] 服务名 r9 V) o m. F
/ ^* s( t7 l* S) z查看它的端口号:需要安装netstat这个命令的软件,它的软件名是net-tools,安装后可以用netstat -nltp|grep vsftpd 来查看
( k3 \2 ]9 q3 e* E0 h6 {0 y. B' [; f9 C! k/ t" A; N
步骤三:进行配置,配置文件为/etc/vsftpd.conf. |$ K$ u) N" w; R5 ]6 S
. M% G1 |/ z6 c) J, Z可以用vi打开进行编辑7 j" U8 F# @$ R, j- M( `
- `" e1 h6 r' Z
4 |6 a+ Q* D' Z; I8 P
# 允许匿名访问* a/ }2 J4 p. p3 O
' N U. j/ y6 V' r6 t9 K7 Y! Ianonymous_enable=YES
8 I7 k) `/ ]. e: \0 `7 U* O4 k7 I6 i/ z' [/ e: U
# 不允许本地用户,如root用户登陆。默认允许
2 _" K% O7 v1 p: C; ~ q7 l8 P ?- R T$ ?' e; \! L I
local_enable=NO
2 ^* P8 e1 }$ y r0 S8 @& z E+ x$ Y1 [* _0 B# I1 L
#设置本地用户登录所在的目录。默认配置文件中没有该配置项,本地用户登录FTP服务器后所在的目录为所登录用户的主目录,如:对于root用户,则为/root目录
) [/ q, P1 K$ e, a
- i. L6 w; Q" S2 e8 G# local_root=/home/ftpuser m. q) V6 c7 U
( l) s8 s/ n/ G* Z) b
# 本地用户上传文件权限: Z4 w% L: E3 s: _1 M; d
% T7 J0 \1 k6 n+ o5 slocal_umask=0221 n+ j( a$ `9 T( o/ n8 ?( a
5 ~# R9 A$ s. l; Z) Q" I! {# 匿名用户上传文件权限
4 {" y3 l( n; R, V( d$ l, z8 `" B% t+ o4 T
anon_umask=0220 a; U' m) L7 g; ]1 V
7 ?. Q- B! K' h6 N$ ~7 {. k+ Y2 {) {
# 允许写入操作,否则不能上传文件5 u& q) h" A1 H/ }
u. D* w0 B/ f' d$ X
write_enable=YES k& d, P8 i0 Z
: u1 l0 o0 k/ I" ~% ~9 q" y$ M
# 允许匿名用户上传文件,需要配合write_enable=yes
1 `) P' q; d2 }! p
# J) L! G$ ^9 Y* C5 P6 C" g5 V& tanon_upload_enable=YES
* k; K2 h4 s3 s* U6 z6 l" c- X; A
0 n9 Y7 Y# p# D8 X2 [# 控制匿名用户对文件和文件夹的删除和重命名(自己添加,没有该配置)' ]9 _7 c2 ^2 C3 ?
" ~8 E1 B2 m A6 J- f" Ranon_other_write_enable=YES+ @9 R1 E) ~4 a3 y
: k/ D& Q, \7 h1 I2 d
# 允许匿名用户创建目录, {2 Y. N; o4 b4 C
3 n0 K( m4 _3 @; ~anon_mkdir_write_enable=YES4 s, H9 B# A W
1 Q2 d) b+ i( u9 `5 T. [# ftp工具连接成功提示# c* _. R4 k$ ~$ z
. t0 b1 i8 B9 f, ~0 i; Tftpd_banner=Welcome to blah FTP service.
* f2 e" ~7 W0 R% X( k' z: M% h
* g5 o2 {$ w; |) Y# 所有用户均不能切换到上级目录6 T/ }% t7 S: i, H m+ z& x
4 | k8 ^2 L1 }# h4 F1 q
chroot_local_user=YES8 @' l4 n; Y- U1 {1 H+ n1 P/ k
0 x6 e3 N1 J5 G0 J6 g# 是否启动限制用户的名单。YES为启用,NO禁用。默认禁用1 I( p3 g) j1 A" E1 L0 s* ?
3 M. M6 S8 X O" f6 Lchroot_list_enable=NO
2 }' k, q X; V% C6 e6 g; g: r: y* j
# /etc/vsftpd/user_list文件不生效4 i% B+ C8 T: C# r$ o {
2 Z9 N2 s* W s luserlist_enable=NO
% z* m4 D7 Y5 ~1 _/ [4 d, C: q z- s; v$ N# B8 U4 e
#坑,添加以下配置。不添加此项,文件无法上传。报错:550 Permission denied
1 y& {2 J$ N: G
! ^* {, M' y& j9 Mallow_writeable_chroot=YES; z0 j0 k7 x" r( [8 n
& c7 F3 s) w$ S. K) r#匿名用户的根目录。这个非常重要/ ^ c. P* U, q6 Y0 \7 {
$ d1 o- b) _5 L
anon_root=/usr/local/ftpdir
+ v! `6 ~! P9 o$ x& O0 B R# C9 b7 A! p. C
#匿名用户不要密码就靠这个8 H3 M' a4 k- z7 g7 p5 q
- k. H% P: D' |+ d, K: bno_anon_password=YES; `- E \& o/ S+ ]9 T
4 [ L8 C: R5 |$ Y$ |# 匿名登录后的使用者( h+ T( ^4 u' b" z+ x
# Y" C2 [! A' c7 @
ftp_username=ftpuser 1 k% m" Y7 y* |( G- T
|