易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 793|回复: 3
收起左侧

linux系统搭建ftp服务器

[复制链接]
发表于 2022-5-13 21:58:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?开始注册

x
linux系统搭建tftp服务器
- V' D$ ^5 I9 j% ]- \! S检查vsftpd是否安装了:
/ S' I+ @7 o6 r4 f" r$ ?rpm -qa |grep vsftpd
/ _- k4 ], ?" N3 r: k7 u
, p7 O# W: q# n: f安装vsftpd服务% `! c5 K: w% g* Z% `8 ]9 m+ w% o; L
yum install -y vsftpd
ftp
! F  G3 K8 M6 t  h, L- O5 i4 ^
$ f8 P7 c+ P& t' T) C4 l

7 |0 P( ]/ O# K" i6 P) ^: G

ftp的配置文件主要有三个,位于/etc/vsftpd/目录下,分别是:


% w$ n: U2 C  ~1 I3 t

ftpusers 该文件用来指定哪些用户不能访问ftp服务器。user_list 该文件用来指示的默认账户在默认情况下也不能访问ftpvsftpd.conf vsftpd的主配置文件


: j  U" ^$ U& {( N: Q1 r$ x+ |( `

& k5 R9 P. O% m1 K( q; q
' f3 t6 _5 k, n4 K  \3 f. W

/ b# m  a, t8 G- x6 b/ U
8 H7 {% l4 X! z, m
% y! [- m1 z  Y2 F7 a: ]0 z
以匿名用户登录
0 g2 o2 A9 J  c$ ]- a: G我们去掉配置文件vsftpd.conf 里面以下# P- Z* q  `; H- z  c+ {+ {& d
anon_upload_enable=YES
7 k; K$ H$ R$ l$ Tanon_mkdir_write_enable=YES
* p7 A5 j! h( J4 n1 p) u两项前面的#号,就可以完成匿名用户的配置,此时匿名用户既可以登录上传、下载文件。记得修改配置文件后需要重启服务。
5 W7 x* \/ @8 y% l5 C5 g) X. J0 S, G; T9 y, I( l- c
非匿名账户的创建与使用, z6 \* U# ]7 s, f+ P3 a  l
vsftpd服务与系统用户是相互关联的,例如我们创建一个名为admin
7 K% h+ q1 m# _6 |/ N
useradd -d /home/admin/ -s /sbin/nologin admin    ! w/ _, F! K7 h9 R* r8 k
chmod
755 /home/admin/
8 m  x/ w; P9 T8 m5 {
chown -R admin.admin /home/admin/4 a7 H( G" O# P3 h

8 l3 i; W1 ]# G& c8 _$ k! U
* f) L$ d: I  i6 [- s
  • 注意:这个 ftpvuser 是 linux 系统用户,用于映射 ftp 虚拟用户,只需要创建一次
    . Q; O. g4 q: R$ h" J% b
& j% k# X% N" D, @, u
启动vsftpd服务:
8 S: l6 P2 A* t0 Y% R[root@controller ~]# systemctl start  vsftpd.service
/ Y6 B0 V; B5 f2 \% H查看状态:
4 Z" e' U" p, r. B[root@controller ~]# systemctl status  vsftpd.service 7 |- X2 u; N" q+ w
● vsftpd.service - Vsftpd ftp daemon
1 ^- C$ v4 Z5 S: l   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
8 P! y/ ^0 }/ G* R, w( |   Active: active (running) since Wed 2022-04-13 05:48:41 CST; 22s ago: \+ d0 k3 _; B# [9 R% h8 ~( p
  Process: 1994 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
% J; O0 D8 l5 e0 ? Main PID: 1995 (vsftpd)4 c2 V  }, f: `
   CGroup: /system.slice/vsftpd.service
( Q8 e  |1 X: }3 z  f           └─1995 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
/ g9 _0 t# B; K! q& u" YApr 13 05:48:41 controller systemd[1]: Starting Vsftpd ftp daemon..., |2 a+ ^0 E4 }: R
Apr 13 05:48:41 controller systemd[1]: Started Vsftpd ftp daemon.
) P4 `, h" S7 n, E( O. M' @" F+ C* A9 Y( G" ?) v9 |% I2 e3 j9 L

2 G1 a0 S8 s) }开始连接2 M7 m' G0 Q' k7 t' i4 L' |
8 y% a! Y0 Y  C1 H& ]

0 x5 R0 W5 G  b
$ Z3 H0 y3 l! C  d% }

6 A5 \5 I! w% E
 楼主| 发表于 2022-5-13 22:22:10 | 显示全部楼层
配置 vsftpd 的操作日志
$ ]9 Q% [+ l; ?8 T+ I从xferlog可以查看到用户上传下载等的操作记录,删除不会显示8 N* d3 _/ ~% k7 E" E* C$ N
vim /etc/logrotate.d/vsftpd
2 v3 X2 a* C9 T: m( x3 y--------------------------------
! v. o& A1 d7 U$ F0 Q/var/log/vsftpd.log {( k2 R0 r5 B5 o& F# N* L* V* \. ?
    # ftpd doesn't handle SIGHUP properly
0 q  Z$ X: l/ ?. i2 @2 y9 F    nocompress2 Z5 A. T- Y: L. [, U* t
    missingok! U- o$ R6 n' m/ [7 Z
}
" o8 _3 W) G6 _# M/var/log/xferlog {
( h5 e9 a& \6 O! \# C8 j) R    # ftpd doesn't handle SIGHUP properly
9 _% C6 x6 F- P) v9 r, B% S/ w    nocompress
- F9 A9 N; Y( S5 D+ {, t    missingok
# c0 l5 E& {/ S; @) F}
5 C* _4 E* D- j% S2 `1 g--------------------------------. J8 x4 F* R9 v. _9 h( U& x
tail -f /var/log/xferlog
 楼主| 发表于 2022-5-13 22:25:37 | 显示全部楼层
添加文件:$ i; c/ n+ P' r. W3 o4 ?2 u' Z  S
vim /etc/vsftpd/chroot_list  c: D" q" w1 G5 [! R" a
admin
 楼主| 发表于 2022-5-14 09:05:45 | 显示全部楼层
3.使用系统用户访问 FTP 服务器7 f& |- w8 C$ e$ ~. A
3.1.修改配置文件并重启服务
; [5 [% y/ u* o! Rvim /etc/vsftpd/vsftpd.conf
! C1 P# `2 j" Q1 ?: `1 ]-------------------------------
0 f- X) w4 i4 I6 Kanonymous_enable=NO
8 c3 m2 Z2 E5 l! E4 }, _9 D/ P# _local_enable=YES
, E; {$ c# p6 c6 D" P% n" _write_enable=YES/ H  s; w$ D( d& j0 {
local_umask=022% t! x" U) S4 V6 t/ v# g1 e
chroot_local_user=YES
$ k( ~& C  h' H. S4 t9 zuserlist_enable=YES
1 |  J- J; V3 d* y! buserlist_deny=NO                       + ~5 T; i: g: {% D" T' F  y* M! a
userlist_file=/etc/vsftpd/user_list
/ D! Y0 a5 _* F9 \- e* b& J$ ipam_service_name=vsftpd7 j' l8 ?# a/ V6 }# J. W
tcp_wrappers= YES
$ {* R( \: ~+ V-------------------------------( s# i5 i! Y3 y+ Q9 @' U
systemctl restart vsftpd
$ W) w: ?1 W- l5 w% ?8 k. p- B( Lsystemctl status vsftpd( s3 S" X9 T- k+ B4 {/ z
配置注解:/ T3 D- g) W$ z- I7 q3 J
anonymous_enable=NO                         # 修改,禁止匿名用户登录# {* C$ T& O* d1 q+ s
local_enable=YES                      # 默认启用,允许本地用户登录,虚拟用户需要映射到本地用户才可以使用5 p" ]9 y7 m; G/ O
write_enable=YES                      # 默认启用,本地用户开放写权限4 Y- u. w3 D  J5 Y. @2 Q
#local_umask=022                      # 注释掉,本地用户创建的文件的权限反码022,创建的文件为644
+ V  M, X) b: X* z- pchroot_local_user=YES                     # 默认启用,将本地用户锁定在自己的家目录中: y) x2 F8 |5 `& Y
userlist_enable=YES                      # 是否启用用户控制列表,默认启用8 e) D% o& S* m4 N
userlist_deny=NO                      # 指定用户控制列表的作用,默认为 YES,表示该文件内的用户列表禁止登录FTP服务器,这里修改为 NO,作为授权访问的用户列表使用
* D8 K/ l% d1 {/ h) E$ euserlist_file=/etc/vsftpd/user_list         # 指定用户控制列表的文件名! g6 s3 C/ y* k3 p# |! E. o
anon_umask=022                       # 增加,匿名用户新增文件的umask数值。默认值为077,需要修改为022,否则上传后的文件为600# ?% v3 q+ @# m8 o
dirmessage_enable=YES                     # 设置切换到目录时显 示message 隐含文件的内容
1 ~9 e$ H, Z5 L; p* Mxferlog_enable= YES                      # 激活上传和下载日志
/ I1 b; l" z0 c# u( a1 kconnect_from_port_20= YES                 # 启用FTP数据端口连接& }% J* c. ~3 j5 C6 T; `5 T7 v1 V
pam_service_name=vsftpd                     # 设置PAM认证服务的配置文件名称,  该文件存放在/etc/pam.d目录下
- [8 B% V3 m  O& D9 X2 V2 @listen= YES                           # 是否使用独占启动方式
* B$ ~7 t+ n  d$ a* B2 b0 Qtcp_wrappers= YES                      # 使用防火墙& I5 F1 l5 Z3 r( J% v+ ^! [
#file_open_mode=07556 `$ |2 N: X% T# d
pasv_min_port=50000                         # 被动模式下的最小端口
) L1 ~7 A+ M# J6 zpasv_max_port=60000                         # 被动模式下的最大端口2 Y' `3 h: x) }  l4 p0 K$ g
# 设置连接服务器后的欢迎信息1 \2 G3 p, ?8 i6 r% {1 u: I$ t5 p
ftpd_banner=welcome to ftp service.) U$ X4 u& {! x; P
banner_file=/etc/vsftpd/vsftpd_banner_file! E2 K2 L3 w: v& y/ G+ `
配置建议:
9 }9 E' @8 [) [8 Q8 suserlist_deny=NO ,这里设置为NO,做为允许登陆的用户列表,可以手动指定允许登录 ftp 的用户,比较实用,如果设置为YES,作为禁止登录 ftp 的用户列表,与 ftpusers 功能重复,没有必要* _" t/ |& d9 J/ U" n2 l4 m& v8 W
vsftpd 的配置文件列表
4 v, q. r. X8 a& G7 W; o4 g/etc/vsftpd/vsftpd.conf     # 主配置文件
' {: O# A* T. G/etc/vsftpd/ftpusers  # FTP限制访问的用户,里面是一些系统用户,默认不允许访问,防止被入侵,一般不需要修改* G* v; t( j5 s" V! v
/etc/vsftpd/user_list      # 授权用户列表,可以控制哪些用户可以访问或者禁止访问,我一般配置为允许访问 ftp 的用户列表$ |, N7 S, H5 W: c0 I
特别注意:( Z7 B+ J1 u2 m
1)vsftpd.conf 文件中每个选项设置为一行,格式为“option=value”,“=”号两边不能留空白符
' G7 X& G! g8 P3.2.创建测试用的本地用户5 @& J0 o9 W1 z  Z
useradd zhaoshuai1 k8 Z- z" e% @; r( b4 V* C
passwd zhaoshuai; z8 X$ m1 d0 T- v
创建测试用的文件和目录. S$ g. D5 o8 r6 a
[root@srv05-CT75 vsftpd]# touch /home/zhaoshuai/aaa.txt1 l. \9 N5 k( W* _; J! g
[root@srv05-CT75 vsftpd]# mkdir -p /home/zhaoshuai/bbb 5 \: G: g) v8 O" N6 ]
[root@srv05-CT75 vsftpd]# ll /home/zhaoshuai/         
. v" t$ |5 p$ z+ Ptotal 4
( F, Q' |! m! @( J% c-rw-r--r-- 1 root root    0 Jun 19 02:18 aaa.txt& ?+ \4 F& P4 n  M' u
drwxr-xr-x 2 root root 4096 Jun 19 02:18 bbb- y- M! y- V2 U7 r  w6 J+ d$ c
3.3.修改授权的本地用户列表
; u" F# U( G" B- a  yftpusers 禁止登录 ftp 服务器的用户列表,一般是系统用户不需要修改,可以增加. E% u9 D7 _' a7 |  X
vim /etc/vsftpd/ftpusers
. }2 @/ Y2 `, O! t, a-------------------------------
0 K4 f9 v: E+ Q- y! F+ Q  Mroot
& ^7 ^0 w) W' E' Bbin
, c( A9 \8 ^6 z; w! Pdaemon; A1 f  J" s% C6 D6 h) `
adm
" W: k# N5 p+ N( qlp8 u; O2 E7 k! T) P" q& f: H% }
sync2 l+ q6 k* ^! @: |# y% o
shutdown
5 g1 h' S; j0 |& e4 a+ O. o/ w( qhalt
0 z" g% O+ J, \3 F+ f( ]0 n, lmail. P2 M# U$ D3 I; |# w
news8 w' n) J7 y9 {/ q3 R& l; C
uucp% I: Q+ E! R' q% E4 o
operator% X& Y- G- `( ?6 V
games  ~5 N1 W$ s' N+ k( I
nobody
) S" b1 y: H7 ?% B! P: q8 m-------------------------------
# j' L" r, \! euser_list 允许登陆 ftp 服务器的用户列表
* m; B$ [9 l$ R$ q. V4 Vvim /etc/vsftpd/user_list 0 V" z: ]/ Q% j7 o: \% ?
-------------------------------
- f2 K8 [0 ?  S' Xzhaoshuai. M4 M4 I1 Q$ P) M, P/ Q8 G$ @/ K
-------------------------------) `4 q1 I7 W$ c
备注:以上两个文件修改完不需要重启 vsftpd 服务8 K. K* O! R% T" P, z$ Y$ \
3.4.使用本地用户登陆测试# v& C8 \2 Z& Z3 A# [
ftp 127.0.0.1 ' k4 w  @% B, K
实例演示:
$ D0 \  X8 I4 t* }7 F[root@srv05-CT75 pam.d]# ftp 127.0.0.1              
, F3 h2 c( o* y% _# eConnected to 127.0.0.1 (127.0.0.1).
8 c6 X' S8 K+ y7 v2 r# ]# H220 (vsFTPd 3.0.2)
2 P+ Y8 o8 `$ M& W( c6 iName (127.0.0.1:root): zhaoshuai
6 c) U! g* [8 f; D; t' I- p331 Please specify the password.  S& O& ], P. a/ e/ R7 L
Password:# C/ B9 L9 v0 D& b; ^
230 Login successful.
7 S/ s  Z' s' j! ~0 ORemote system type is UNIX.
* H8 L  S: x: [3 s+ R% W' MUsing binary mode to transfer files.
1 J2 u7 I: ~+ `ftp>
) q! |' f6 l6 Dftp> 8 l; v" H  v: X, O2 P$ [3 }% }0 g: E
ftp> ls, Y+ K) A+ ?$ s3 _7 I( U' h
227 Entering Passive Mode (127,0,0,1,94,91)." e/ T0 _5 _# Q$ u- X
150 Here comes the directory listing.
# t" w7 A4 N# a" r; m, @- Z-rw-r--r--    1 0        0               0 Jun 18 18:18 aaa.txt5 a' l% |" M  D1 ^4 v1 C- J: K
drwxr-xr-x    2 0        0            4096 Jun 18 18:18 bbb* [2 c) p7 b" H' }
226 Directory send OK.
2 [' ]) I3 G9 \1 R2 e) wftp> exit
1 N  s# N( f! }, f0 S% t221 Goodbye., @/ k, D+ K' ~5 a. _
如果要使用 xftp 等图形工具,需要选择主动模式, [4 l8 D3 T' `
对于阿里云,青云等云平台的虚拟机,需要考虑安全组:允许20,21端口的接入请求1 j' y; @( o/ {1 f, j9 B
阿里云配置nat网关的端口转发可以通过公网连接,或者直接绑定EIP,青云需要直接绑定EIP进行公网连接
  p8 C6 T9 I% S6 I1 M! D  Z9 Y/ T阿里云和青云都无法通过负载均衡的端口转发提供ftp服务的访问,因为经过了他们内部的路由转发,无法直接找到对应的主机,总之ftp需要直连服务器才行( g0 C+ N* K7 j
回到顶部
8 s4 P3 p% h8 i7 D4.使用虚拟用户访问 FTP 服务器& Z+ H* t+ K- S$ {+ O& s& u3 c- J
ftp配置为匿名访问显然是不安全也不便于管理的,另外,单纯使用系统用户的 ftp 也较难管理,通常情况下是使用一个系统用户作为ftp用户登陆ftp服务器的代理用户进行管理1 \5 x5 y7 {7 z; W! K
4.1.修改vsftpd.conf 文件,重启服务1 E8 I# U. t3 @: p) _2 k3 M
cd /etc/vsftpd/
8 P6 J! D/ J( w9 `$ _& c0 h$ _+ svim vsftpd.conf
( v5 e5 b9 |0 N  c. t1 W0 k----------------------------------------
3 G/ [+ G( z3 r8 M6 h9 ?% |anonymous_enable=NO
1 _  r9 U- s4 f- Vlocal_enable=YES/ D$ ~7 q' T, M& |9 h$ Y3 m
write_enable=YES; o7 j% @% c6 ~* }1 T
#local_umask=022
, b8 E$ z! `% e; j4 j1 b/ b' Z0 Schroot_local_user=YES
- p  o6 D  l! M" Uuserlist_enable=YES$ L- K4 x4 d3 M
userlist_deny=NO  e3 _  M. \1 g: i+ W$ H; X6 p
userlist_file=/etc/vsftpd/user_list
2 Y- U$ m4 q. J- e6 J2 O' r8 S& wchroot_local_user=YES+ T0 g5 H) V. U/ }2 W& |& O
# made for virtual user: M. O: k/ m! W; F
guest_enable=YES
, s& V+ E: b, c/ i2 \$ Nguest_username=ftpvuser4 x5 X: J# W7 W
pam_service_name=/etc/pam.d/ftpvuser.pam
) b) ^! U+ ]0 `5 L0 G+ F2 A# vuser_config_dir=/etc/vsftpd/vuser.d1 M+ T# s) A  j. ^
anon_umask=022) D- Z8 ?& Q6 @# O0 b0 s$ j+ }
-------------------------------------
; z1 a/ U" O+ @6 b, C& Isystemctl restart vsftpd* N. @0 z9 ~' f- @; g
systemctl status vsftpd% {% b9 H% ^- m) C& ?7 I5 _8 i
配置注解:8 E( |0 I6 ?  u0 S' G# _; @
guest_enable=YES                   # 增加,启用虚拟用户模式9 b( ?" Q0 [3 S  _- H
guest_username=ftpvuser                  # 增加,配置虚拟用户映射到的本地用户名
- ]5 R6 D) S" _( k0 e1 f, R# g8 Ppam_service_name=/etc/pam.d/ftpvuser.pam # 修改,配置虚拟用户的认证方式
9 ?0 `7 A. ?* Y! S& Cuser_config_dir=/etc/vsftpd/vuser.d         # 增加,虚拟用户的配置文件目录8 \' C5 J6 J  r+ V" a: k
注意:1 U. C6 A8 @, ]0 S2 z/ y
1)除了主配置文件外,还可以给特定用户设定个人配置文件0 t9 L3 n& `- |& `
2)虚拟用户默认可以读写,访问时映射为本地用户,所以需要启用对本地用户的控制8 i/ a& f: ^+ ?
3)实际的访问权限可由用户独立的配置文件进行单独控制
( z: J( e) u( V  r+ w4.2.设置 ftp 虚拟用户的验证授权方式
# T+ N, j' c) J7 K1)创建虚拟用户的秘钥文件. F+ [! g) `4 A' S3 O
mkdir -p /etc/vsftpd/vuser.d5 b( l: |% b  M' _! j8 {
cd /etc/vsftpd/vuser.d
4 D, o0 S0 k# e3 btouch vuser.list/ C- }5 [: _$ f: ^' g
2)加密虚拟用户的秘钥文件
# v# H4 [; ]0 D" `; S8 D: Z# 使用 db_load 工具生成加密文件
0 ^/ }! A$ X3 \. ~' x; Z: q6 zyum install db4-utils -y
2 C7 m! z) N# ndb_load -T -t hash -f vuser.list vuser.db  F0 V. N$ G% Z0 q
file vuser.list . N! l4 z5 O, J- g
file vuser.db - p" D6 ~6 L. k( B4 w! v& b$ |
# 为了安全,修改虚拟用户文件的访问权限
1 `9 }% Q: a8 Y# c/ V9 ~chmod 600 /etc/vsftpd/vuser.*9 {1 H; {/ ^9 v5 \$ @1 H
ll /etc/vsftpd/vuser.*! [. K* m4 f5 x* r8 r
3)创建虚拟用户的授权认证文件
, \/ ~0 C4 ]! o6 xcd /etc/pam.d/) f( j/ \/ y, k
mv vsftpd vsftpd.ori  # 备份原有的ftp的pam认证文件
7 z0 ]8 F' x9 d8 {! ~8 w' avim ftpvuser.pam      # 创建新的ftp虚拟用户认证文件
1 r  I8 t0 c4 y8 U  l$ ]" M( ~-----------------------------------) h" Y, h$ u* n' _8 C$ G6 J+ E& ~
#%PAM-1.0
# n0 j1 ^; e) G8 q1 s* @$ aauth       required     pam_userdb.so db=/etc/vsftpd/vuser.d/vuser$ v* s/ l2 n: L# e- h
account    required     pam_userdb.so db=/etc/vsftpd/vuser.d/vuser! X4 Y$ K  l5 F
-----------------------------------
( M+ `+ n  Y# @! H0 a- D+ y, w注意:db=/etc/vsftpd/vuser.d/vuser 不可以加.db的扩展名,否则认证不成功
% K# R3 J" P) R( y0 [" Q- v; L/ G4.3.实例演示:配置一个虚拟用户! P4 v& i" S3 h# l: M, e
1)创建 ftp 虚拟用户 test1 的数据目录和秘钥文件8 T  w) t$ g7 b0 R
mkdir -p /data/ftpdata/zhaoshuai; n# U1 f- `: F( J+ X: [
touch /data/ftpdata/zhaoshuai/ccc.txt               # 创建测试文件
( t4 T8 @; C; [' [, B6 r/ rmkdir -p /data/ftpdata/zhaoshuai/ddd
* {) F, {! z8 d$ G& ~' Xchown -R ftpvuser.ftpvuser /data/ftpdata# B: n+ `/ {3 W) I$ T
chmod 755 /data/ftpdata/
2 V, [6 R: U5 Als -lhd /data/ftpdata/
, }' n! b, {% @/ o* \0 }1 ^! U6 r0 K. E5 [ls -lh /data/ftpdata/
4 f: [! n( T$ v% h2)把该虚拟用户 test1 添加到 user_list 文件中- f9 z& L9 A& g+ W0 Y* H
vim /etc/vsftpd/user_list ; C5 N1 d. a( i; e, I6 z2 i
---------------------2 o7 R9 u! _. E, e2 [
zhaoshuai8 x7 {8 a+ n; X2 V5 H% W
----------------------
4 g2 Y0 }) e, q6 ?; n( U备注:
1 `  \& b- l* A1)注释掉其他本地用户认证的内容,因为启用了 guest_enable 后,本地用户将失效,所有非匿名用户变成虚拟用户
' W* X( h4 D+ k3 l2)因为需要授权访问的用户比较少,所以user_list设置为可以访问ftp服务的用户6 }+ c. T5 y! F
3)创建或修改虚拟用户秘钥信息- c  E: J7 t& ?2 a; K. ~  j
cd /etc/vsftpd/vuser.d7 w& o- l) d9 w4 U/ ^
vim  vuser.list
* }; f' `6 }* h. E--------------------# N9 G8 S  G3 O$ J2 F
zhaoshuai+ k- Z& I" r* i' M# h- F7 F! L$ @- B0 Z$ j
zhaoshuai               # 这里的密码和系统用户 zhaoshuai 的密码不同用以区分8 z- ]( ]# Y6 Z+ L
--------------------
  B+ i; K  l1 W, K! ~: mdb_load -T -t hash -f vuser.list vuser.db- C, G4 N7 Y2 V  z6 T8 Y$ q  T; B
该文件的格式为:一行用户名一行密码/ F0 F( t, {. m" f* o$ A
4)为用户创建授权配置文件(文件名必须为虚拟用户名)
8 o2 n- w' f- w9 M2 Zcd /etc/vsftpd/vuser.d( e5 m2 F; y: n( }* _; m: N
vim zhaoshuai% n( l* J1 q1 N  {: x& l$ I
---------------------------
+ p/ b7 _7 L; Q  U# 指定宿主目录,配置访问权限: U3 R: m& k5 ^3 f  s- z% n
local_root=/data/ftpdata/zhaoshuai  # 虚拟用户的宿主目录
) D9 a& y* s3 f( g. Ewrite_enable=YES* y# i9 e% w: q$ t
anon_upload_enable=YES       # 上传4 A$ _: J- p! o' y" y8 g
anon_mkdir_write_enable=YES      # 创建目录写权限
4 O3 ?2 ]7 f% [anon_other_write_enable=YES      # 其他写入权限
0 K2 y( X6 Z: n( U0 B  D---------------------------
) p  h* H: V0 [1 _0 Z% O5)配置完成刷新配置信息' M3 b: F! l8 @! W- h
systemctl restart vsftpd, O8 h' ]" X4 s0 y' ?" D1 E
systemctl status vsftpd
' f4 _; N: q4 I. W+ O6)登陆测试
7 e* W, {0 ?* [: r+ F- o$ z[root@srv05-CT75 vuser.d]# ftp 127.0.0.1% i. s4 l, Z$ y# J1 ?
Connected to 127.0.0.1 (127.0.0.1).) |6 F8 c* p$ e* \6 {7 ?) D: ~3 k; a
220 (vsFTPd 3.0.2)
- M. @3 r$ K4 ~Name (127.0.0.1:root): zhaoshuai
% m) A% s& y* D4 h2 C2 f/ v9 d" h331 Please specify the password.- r+ P1 V- \& L! r. q# H$ j4 L
Password:                                       # 在这里使用系统用户zhaoshuai的密码无法登陆/ N* |" B+ a" b: Y
530 Login incorrect.6 t4 [0 z6 l1 v( W" ~! v( N
Login failed.
# U& q9 p$ i8 }! H1 r& Eftp> exit6 h/ C- y1 L3 c( {+ j1 Y  F
221 Goodbye., a+ e( a' m4 g
[root@srv05-CT75 vuser.d]# ftp 127.0.0.1
# e$ B$ G5 N6 h) [Connected to 127.0.0.1 (127.0.0.1).
- R  A; p+ [$ C220 (vsFTPd 3.0.2)
- x, L/ y+ Q3 G# m7 y* {7 ^Name (127.0.0.1:root): zhaoshuai  X( [7 g8 A: T* p
331 Please specify the password.& Y2 s! V+ P  s0 a! R1 m5 R7 z3 Q
Password:                                       # 使用虚拟用户zhaoshuai的密码可以正常登录1 p8 I) J2 f5 `) N+ n- o( p1 O# N
230 Login successful.3 J% ^- w' t. x5 ?3 ]
Remote system type is UNIX.
- |, l% M3 e' HUsing binary mode to transfer files.! k+ k- p% N- W5 ?
ftp>
  F+ k/ ?8 ^0 A0 A/ o- c% ]' O3 h# E0 lftp> ls                                         # 可以查看到上面创建的测试文件
. V, d# m, v5 [- p7 I  k( @227 Entering Passive Mode (127,0,0,1,226,175).
+ w# w$ J7 o% F% o150 Here comes the directory listing.( W/ z4 z( Y( w/ @6 c
drwxr-xr-x    3 1000     1000         4096 Jun 12 07:59 ccc.txt5 v' p" {( m% L# _& Y
drwxr-xr-x    6 1000     1000         4096 Jun 12 07:45 ddd
9 y$ q9 Y0 f7 F) c$ z# \8 [' V226 Directory send OK.
1 j9 _5 g' P, G/ k' I! vftp> exit0 h# X- Y: {4 r: ]+ {" L* D
221 Goodbye.
& ^. P! G% f8 S1 \8 r. U  t回到顶部" ]0 y2 L2 u$ ]3 z4 l; |
拓展1:ftp 的防火墙配置) F  v$ C# A9 I& q* U8 l; u3 }/ |1 ~" L
iptables -I INPUT -p tcp --dport 21 -j ACCEPT        # FTP连接端口
6 m) l( ?0 P+ I& Y7 m) t! R3 c6 E# t- _& |iptables -I INPUT -p tcp --dport 33000:34000 -j ACCEPT   # pasv模式下的随机端口
& Z1 A8 |  f9 f1 F* t( Niptables-save >/etc/sysconfig/iptables             # 保存防火墙配置& v4 V; z  z5 |% m& ~" E2 o2 Z8 F
systemctl restart iptables.service
8 g  U9 g6 @; x; j% vsystemctl restart vsftpd.service! S, U* w, V# l4 p! u# j$ r
回到顶部1 s0 t% L8 @* Y: i
拓展2:CentOS6安装vsftpd- r6 l) y4 w$ o; o  e& o1 b8 Z
方法相同,区别在于服务的启动命令是
; p: Y3 ^  C4 e3 j* m! D* @service vsftpd restart: [2 r2 _2 g+ c' ~
service vsftpd status
3 f' O$ h8 I5 U' f; o$ v
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )点击这里给我发消息

GMT+8, 2026-4-8 21:37 , Processed in 0.046077 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

快速回复 返回顶部 返回列表