易陆发现互联网技术论坛

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

linux系统搭建ftp服务器

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

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

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

x
linux系统搭建tftp服务器8 X- H$ R* K8 `/ {# u9 t
检查vsftpd是否安装了:
' x7 X8 @- J7 X+ m* Jrpm -qa |grep vsftpd
' T) r- y3 X. }. d- o5 H6 D0 P6 b7 K0 b8 o% E1 s) g# |: d
安装vsftpd服务$ P1 ~0 d/ E! _7 A4 `
yum install -y vsftpd
ftp
8 Q  H- M; l8 l

8 o4 k0 D2 h. K3 g3 U
; b( J+ Z/ x: x

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

$ l' y+ b8 M2 r( s, ~+ t/ V

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

; z* d% T$ q/ u( X; }4 W

/ \' S4 c6 _! S. T' L6 z! |6 T
1 d9 T% H" H: e+ z. X
  A9 c3 A; F! c6 {4 v
' O3 v$ a6 W8 M/ W

" A0 b1 y  @' B以匿名用户登录6 N5 Z2 B: Q8 o9 a5 W
我们去掉配置文件vsftpd.conf 里面以下
" Y5 I/ J- k& m8 yanon_upload_enable=YES" F: I/ O2 I* z$ c! J# o2 v" [
anon_mkdir_write_enable=YES  g. m  K! v7 P' n' \- h8 t. y/ Z
两项前面的#号,就可以完成匿名用户的配置,此时匿名用户既可以登录上传、下载文件。记得修改配置文件后需要重启服务。
) k7 }& I; W6 }+ j3 A# f, `
. p/ w3 v$ l( G& t& ]+ ?$ k& i非匿名账户的创建与使用4 R, H4 ?# |+ S7 m9 v% k
vsftpd服务与系统用户是相互关联的,例如我们创建一个名为admin, \* [# Z: Q6 G$ s& S
useradd -d /home/admin/ -s /sbin/nologin admin    $ D! @3 @9 b% g! A
chmod
755 /home/admin/" m  S! ^# F! I% Q0 W
chown -R admin.admin /home/admin/8 Z  D: o% c$ q$ j% ^" [

& c2 T3 u8 ^+ z. ~" k% G5 b) e
3 A" J. \+ g) t3 t6 {0 {
  • 注意:这个 ftpvuser 是 linux 系统用户,用于映射 ftp 虚拟用户,只需要创建一次2 }  f5 q8 b( a# F. j8 D2 s

# A# C) t5 c. m启动vsftpd服务:
) `2 G2 a7 J- T  i$ m[root@controller ~]# systemctl start  vsftpd.service- P2 G5 h& o& d- Z
查看状态:
# p: D3 G9 `( t9 l[root@controller ~]# systemctl status  vsftpd.service 3 X8 C& ]/ W! s8 b  `
● vsftpd.service - Vsftpd ftp daemon
# }- e8 G! q4 F9 g   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
8 e4 u6 h! G2 `, [1 o* S% D- d   Active: active (running) since Wed 2022-04-13 05:48:41 CST; 22s ago+ K0 Y' i# v1 }5 K& e+ F
  Process: 1994 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
4 L; G4 h" v* j0 ~8 v& G# @4 r5 N4 {" k6 v Main PID: 1995 (vsftpd)
# O3 I. F+ i* x8 o; t2 M   CGroup: /system.slice/vsftpd.service
$ h" T8 d) ?2 L, P2 h" {. {3 P. Z: P8 \           └─1995 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
8 _; Y2 @7 B3 E( W- ]$ E8 nApr 13 05:48:41 controller systemd[1]: Starting Vsftpd ftp daemon...
- z4 |* H+ D. ?2 ~2 G) V/ F+ TApr 13 05:48:41 controller systemd[1]: Started Vsftpd ftp daemon.4 k0 k8 W* n6 _4 a# b) a  D

' S) e& ]0 w1 v/ ?4 v1 r: k# C+ p# O' `$ `/ i4 h8 g
开始连接
- j1 ^# ^( Y! T: ?$ t7 v! f1 i
2 M! W0 @( _5 L. _( n# f5 O4 ^$ v) K
. i0 g) K5 o& G; {: ^8 K' w" k% d
7 Y* B" J! P2 p! N7 ^
 楼主| 发表于 2022-5-13 22:22:10 | 显示全部楼层
配置 vsftpd 的操作日志
8 d1 l" }2 D" H8 _4 w; ?从xferlog可以查看到用户上传下载等的操作记录,删除不会显示! q' s5 n( P8 @3 ?  o
vim /etc/logrotate.d/vsftpd " \* ^. v; Y4 V& V) F- i9 z* C- \
--------------------------------( W2 J' H' x$ e1 E
/var/log/vsftpd.log {; j" S* {: N  K& M9 V4 K
    # ftpd doesn't handle SIGHUP properly
/ v0 _& g) w7 [% T& }    nocompress; ?# u- E. I% S
    missingok
1 F( j. a5 [' ^* D- N' [}
7 f* ?9 O$ r& r- P- t/var/log/xferlog {
0 B( s9 f$ D0 }    # ftpd doesn't handle SIGHUP properly- m) C* O# L/ `% ]6 _% f, S
    nocompress9 Q$ ?  D" v' ^: A: _0 V! c
    missingok
% Z# c* t1 L0 c# R2 B0 k}3 Y* Z# b7 N: e
--------------------------------4 e- t! z# t, l" x; ^% I8 ^
tail -f /var/log/xferlog
 楼主| 发表于 2022-5-13 22:25:37 | 显示全部楼层
添加文件:
, _& y2 D; P! Z* ]6 t3 ] vim /etc/vsftpd/chroot_list
& F4 P' C0 \# W2 E6 P' ?6 o& Oadmin
 楼主| 发表于 2022-5-14 09:05:45 | 显示全部楼层
3.使用系统用户访问 FTP 服务器. m' i- }8 F. N$ G( H; o$ m
3.1.修改配置文件并重启服务
0 L& q' [2 ], j  P& gvim /etc/vsftpd/vsftpd.conf
/ u, K3 }- h9 M& R-------------------------------! S$ X! m/ J2 Z1 M- }( `
anonymous_enable=NO
. r" l1 M6 r  w/ [local_enable=YES
6 Q% u  \3 A/ Xwrite_enable=YES! J; @8 m) Z  R7 }& T" R8 J
local_umask=0224 y" T5 f! H! p: r6 C7 p
chroot_local_user=YES
0 p7 \& Y: y" Buserlist_enable=YES
2 O' P+ m: w: Euserlist_deny=NO                       
, z: d; ^" j: B1 s& I+ j( R5 h2 w/ @userlist_file=/etc/vsftpd/user_list
. z1 c' K0 M' {5 h2 q% qpam_service_name=vsftpd) g. G; p( g( n
tcp_wrappers= YES- P# d# D% `  t; t% i# b6 i
-------------------------------# A9 K  c0 s$ O& E' a3 b
systemctl restart vsftpd
, L' q! V# n% l5 A) Y/ X+ }systemctl status vsftpd0 D. i+ Y+ r6 ?( g
配置注解:
- z- W" u! m* Q* l' y- Banonymous_enable=NO                         # 修改,禁止匿名用户登录7 U4 X4 Q2 c) i9 W; v! M0 ?5 o2 j# h
local_enable=YES                      # 默认启用,允许本地用户登录,虚拟用户需要映射到本地用户才可以使用9 ^1 h% t& h0 x5 A; G
write_enable=YES                      # 默认启用,本地用户开放写权限9 {) O- K# l8 Q  ]! p& T
#local_umask=022                      # 注释掉,本地用户创建的文件的权限反码022,创建的文件为644
$ M5 N$ C' @/ |2 l5 P& \5 xchroot_local_user=YES                     # 默认启用,将本地用户锁定在自己的家目录中
2 R% i; d  @, Y: Zuserlist_enable=YES                      # 是否启用用户控制列表,默认启用
% b7 \+ I/ j# p/ h- Y0 b, V5 X$ kuserlist_deny=NO                      # 指定用户控制列表的作用,默认为 YES,表示该文件内的用户列表禁止登录FTP服务器,这里修改为 NO,作为授权访问的用户列表使用 ! F& L& k+ Z! r) @3 D) v
userlist_file=/etc/vsftpd/user_list         # 指定用户控制列表的文件名) r4 j) o7 B, I. @$ X
anon_umask=022                       # 增加,匿名用户新增文件的umask数值。默认值为077,需要修改为022,否则上传后的文件为600* c9 s$ b* q7 }5 n$ C' s
dirmessage_enable=YES                     # 设置切换到目录时显 示message 隐含文件的内容
0 Q) B0 q6 I* J1 C' s  N9 nxferlog_enable= YES                      # 激活上传和下载日志
! s3 @$ t- U$ L$ ]" Qconnect_from_port_20= YES                 # 启用FTP数据端口连接
8 e; x  Z+ F' t1 [6 ^pam_service_name=vsftpd                     # 设置PAM认证服务的配置文件名称,  该文件存放在/etc/pam.d目录下7 t% h% f" A. b! E. U
listen= YES                           # 是否使用独占启动方式
' Y, Z# K/ O5 L0 \tcp_wrappers= YES                      # 使用防火墙6 }5 S) S7 \4 P
#file_open_mode=0755# F: W1 Q1 L1 x# y! t* |. j
pasv_min_port=50000                         # 被动模式下的最小端口
* n! H4 b5 G( \$ }- Z2 F0 [$ z) Vpasv_max_port=60000                         # 被动模式下的最大端口5 V$ j- n6 h. Z
# 设置连接服务器后的欢迎信息3 T9 e# b5 \: w6 k+ G
ftpd_banner=welcome to ftp service.+ I5 X$ k7 q3 \+ m7 U
banner_file=/etc/vsftpd/vsftpd_banner_file
- t/ L6 `/ K" l# K$ g4 k配置建议:
) p! j( X% h  h# _userlist_deny=NO ,这里设置为NO,做为允许登陆的用户列表,可以手动指定允许登录 ftp 的用户,比较实用,如果设置为YES,作为禁止登录 ftp 的用户列表,与 ftpusers 功能重复,没有必要8 b- n3 f( D3 D3 s/ |
vsftpd 的配置文件列表
' \8 d% E  O" C0 W7 ^/etc/vsftpd/vsftpd.conf     # 主配置文件, [7 [5 [+ k! W% E
/etc/vsftpd/ftpusers  # FTP限制访问的用户,里面是一些系统用户,默认不允许访问,防止被入侵,一般不需要修改
8 T/ N  ?/ m" j( `' {/etc/vsftpd/user_list      # 授权用户列表,可以控制哪些用户可以访问或者禁止访问,我一般配置为允许访问 ftp 的用户列表
1 Y0 B% M' R2 \1 Q9 u+ v5 ~" t特别注意:
+ L  ~5 m' d( H8 d: }1 b1)vsftpd.conf 文件中每个选项设置为一行,格式为“option=value”,“=”号两边不能留空白符& r+ w6 k6 x0 {: ]1 U
3.2.创建测试用的本地用户
" f3 B) A4 w1 }$ e  X$ I+ Nuseradd zhaoshuai: E# U" M( k+ k" i% R
passwd zhaoshuai
4 N; X, U" I9 e! ~' h: I创建测试用的文件和目录1 V9 ~& h# Q# j5 K2 y
[root@srv05-CT75 vsftpd]# touch /home/zhaoshuai/aaa.txt5 U& Y0 U8 R) I
[root@srv05-CT75 vsftpd]# mkdir -p /home/zhaoshuai/bbb
) ~5 n) B; i& c& \: o[root@srv05-CT75 vsftpd]# ll /home/zhaoshuai/         
' l- Z4 o# d/ @4 E) J1 P& btotal 43 W0 k; N* i' k/ `; |) ]$ |' q& q
-rw-r--r-- 1 root root    0 Jun 19 02:18 aaa.txt# I0 d6 s  \( a" k
drwxr-xr-x 2 root root 4096 Jun 19 02:18 bbb
1 |& r4 }  Q  v, H3.3.修改授权的本地用户列表: q# L9 U, L6 H: ]& R, B0 s
ftpusers 禁止登录 ftp 服务器的用户列表,一般是系统用户不需要修改,可以增加
4 r- L$ U( k2 W. a6 i% bvim /etc/vsftpd/ftpusers/ ^6 k: f" N* ~4 H4 {- h
-------------------------------* i: X' r9 O0 G- }6 z! m/ [5 m- w
root
" O% g: ?/ C# V  Sbin
- e2 t& O) T/ g7 R+ U, D4 s$ W* [daemon
6 A3 K' Y- g- O9 P  p: F2 nadm& k% o8 Q" ~) h& c' @6 |' z2 @( \# U7 o' B
lp: W- p( y0 N( Z: L" w/ ~  p
sync8 Z6 r, v1 f! l- u
shutdown3 g9 p+ @# U& A/ [/ `; Q+ a7 Y, J
halt
' n9 O: ]! L; wmail3 n! s' u! R  @; l
news& D9 H5 p5 O! V2 j
uucp
" j3 K; T& [; C1 ]operator
4 t/ [" _% z* X6 }games
: }% W  |! ?0 I( a6 _9 H  ]  X$ C- \nobody1 g3 D* T) x3 ~& Y" Q2 |
-------------------------------
% [2 C0 H* Q- m$ K: w9 P9 tuser_list 允许登陆 ftp 服务器的用户列表
  g% [0 O( |+ g0 E' Ovim /etc/vsftpd/user_list
# C: {% s$ G# H; C/ q; X; v-------------------------------
3 V& o: n5 t2 Z" b6 b& n' bzhaoshuai
' T$ g' ^7 J. y8 L-------------------------------
8 ]* m. T! [% w( V- E备注:以上两个文件修改完不需要重启 vsftpd 服务3 [, E- m. ?0 O/ l" G8 L
3.4.使用本地用户登陆测试
: s# C) H$ b3 a7 F, c0 zftp 127.0.0.1
* ?! C5 P7 V$ I7 v# r实例演示:
+ {4 U* l7 S* Q* ^; k. W% N[root@srv05-CT75 pam.d]# ftp 127.0.0.1              9 s- C2 u7 @, v* L- X
Connected to 127.0.0.1 (127.0.0.1).
8 w5 y& W2 D' y- K" f1 O220 (vsFTPd 3.0.2)$ V/ h1 V, K+ j
Name (127.0.0.1:root): zhaoshuai  _0 h5 q2 i% R  z
331 Please specify the password.
7 P, J% Q) `+ V! B4 c* bPassword:7 F& i' H8 X. M3 K' G9 f3 W* Q/ d- C: m
230 Login successful.
5 s$ i9 M3 M% D& d; }* s7 eRemote system type is UNIX.! N8 t; n" @7 ?9 M1 b3 B' S2 H
Using binary mode to transfer files.  x3 {; C  y0 B- G9 m
ftp>
) x8 S' q" w1 ^3 z) @: hftp>
& T0 v- ?: D& S" wftp> ls  c2 G: S" r6 G8 S- r
227 Entering Passive Mode (127,0,0,1,94,91).
# s3 q8 j1 @! |% K% r: _, T150 Here comes the directory listing.. Y  G0 V6 o* ~2 X: {/ b
-rw-r--r--    1 0        0               0 Jun 18 18:18 aaa.txt
/ t6 L+ x. o6 f/ _9 udrwxr-xr-x    2 0        0            4096 Jun 18 18:18 bbb  }0 ?8 {- ?' b( `( n
226 Directory send OK.$ d+ r* `: I; Z5 a) c
ftp> exit# H2 k8 p. T! }4 ?2 W: u
221 Goodbye.: [/ \1 y6 d1 o6 V
如果要使用 xftp 等图形工具,需要选择主动模式
1 U4 u6 [. X3 U. F, r' e9 \% Q对于阿里云,青云等云平台的虚拟机,需要考虑安全组:允许20,21端口的接入请求
5 G0 }, N8 t7 ?4 |& }! W阿里云配置nat网关的端口转发可以通过公网连接,或者直接绑定EIP,青云需要直接绑定EIP进行公网连接- T: ~, R) n' K- P4 f. Y
阿里云和青云都无法通过负载均衡的端口转发提供ftp服务的访问,因为经过了他们内部的路由转发,无法直接找到对应的主机,总之ftp需要直连服务器才行# o& h" v; F) e& U" K
回到顶部
: X/ k3 z6 d: J7 n# ~4.使用虚拟用户访问 FTP 服务器
' h+ _( P0 I% k, o4 m( n# d8 Hftp配置为匿名访问显然是不安全也不便于管理的,另外,单纯使用系统用户的 ftp 也较难管理,通常情况下是使用一个系统用户作为ftp用户登陆ftp服务器的代理用户进行管理% d) U- H+ \  s1 F
4.1.修改vsftpd.conf 文件,重启服务
/ Q( l7 m; a8 a1 l+ Hcd /etc/vsftpd/
6 s; D7 a  j5 bvim vsftpd.conf
+ N6 ~! L  p  |3 b2 Y7 `----------------------------------------
: x: p6 @) O1 o: E: U# ]9 `6 wanonymous_enable=NO
3 o; ~" _4 ]  T1 ~$ Flocal_enable=YES
2 w$ b$ q4 ]6 `% B* Cwrite_enable=YES
6 \- G3 T: |6 H# \  F#local_umask=022
3 G1 s( r1 P4 [chroot_local_user=YES; M3 A# d1 ?6 I  H
userlist_enable=YES
$ G* h0 B9 f9 I/ K( C8 zuserlist_deny=NO
7 ]: e0 p4 X" ^3 G* ]" Q; duserlist_file=/etc/vsftpd/user_list
9 ~0 f& i0 s2 D* V+ `# l$ b. wchroot_local_user=YES" T% ]& F: `$ k* ~" H3 K
# made for virtual user* A% E7 E5 F3 y* ~; m9 I+ f2 r
guest_enable=YES
# g& [3 h1 X- T! o! _( c3 Aguest_username=ftpvuser
/ e3 k, V  k+ q! ]* kpam_service_name=/etc/pam.d/ftpvuser.pam
2 B( p6 ^  U( t1 f# Z" k) M  }/ F' Auser_config_dir=/etc/vsftpd/vuser.d
1 g7 ~3 `1 L. K, l7 ?% w& Z7 nanon_umask=022% C9 n9 R/ m0 I  J5 @- n
-------------------------------------- j* R/ ]5 ?( G
systemctl restart vsftpd5 R7 f) }# {, V! @0 G9 I  d- t
systemctl status vsftpd
& F" p( j! W( |0 X" d& Z) P; x配置注解:
$ M0 [% N7 S) N+ u7 O: R+ j3 [guest_enable=YES                   # 增加,启用虚拟用户模式
" |9 T: i" t6 q, ?guest_username=ftpvuser                  # 增加,配置虚拟用户映射到的本地用户名! t% J5 S  f" Z8 v- j
pam_service_name=/etc/pam.d/ftpvuser.pam # 修改,配置虚拟用户的认证方式
" K* p2 I5 y. L& Ouser_config_dir=/etc/vsftpd/vuser.d         # 增加,虚拟用户的配置文件目录
' ^5 c* e' Y+ ^6 Y' M: J注意:
7 F4 E9 o9 s' K. e1)除了主配置文件外,还可以给特定用户设定个人配置文件
8 s- _# q5 d1 X" H1 d0 V1 i0 k2)虚拟用户默认可以读写,访问时映射为本地用户,所以需要启用对本地用户的控制% A: s' }9 R1 s4 T
3)实际的访问权限可由用户独立的配置文件进行单独控制+ f5 _8 A* s5 K2 S2 R+ A3 K# D
4.2.设置 ftp 虚拟用户的验证授权方式
" ?$ F* o* u9 ?* O; M0 C1)创建虚拟用户的秘钥文件* `/ ~. e0 ]& Z" b# a6 V' {! t
mkdir -p /etc/vsftpd/vuser.d
0 ~, H' _- ~4 x, e* ?cd /etc/vsftpd/vuser.d  A" g7 @7 V; a7 i# i
touch vuser.list  b8 Q( c- H8 |. Y6 m) G3 W
2)加密虚拟用户的秘钥文件, n# V1 G3 ]3 k  F8 m' r; I6 v
# 使用 db_load 工具生成加密文件
; c, N; Q  ]4 g$ L8 Ayum install db4-utils -y- L; n% |' T7 Y7 g6 ]4 \
db_load -T -t hash -f vuser.list vuser.db
' o; h0 A  r% W& ^+ f6 i; c3 }file vuser.list
# K  U+ A5 l9 O0 a3 Sfile vuser.db 0 n6 d. ~& C) {1 A. v& s9 R
# 为了安全,修改虚拟用户文件的访问权限
+ x9 b$ N1 u8 b/ }+ Q# N! h5 I! d& X- kchmod 600 /etc/vsftpd/vuser.*
2 w& R. `9 z" rll /etc/vsftpd/vuser.*" Y0 L2 b8 X6 ^% ]# ?3 a/ i
3)创建虚拟用户的授权认证文件" {4 s+ f2 E# E7 ?. \) b# r
cd /etc/pam.d/3 b: q% m& _5 b. l
mv vsftpd vsftpd.ori  # 备份原有的ftp的pam认证文件) t% R1 M* F& _$ V, y6 w9 l1 D
vim ftpvuser.pam      # 创建新的ftp虚拟用户认证文件: g" W) W4 A3 u, }; T" V
-----------------------------------
6 h3 i6 \( x4 W' [#%PAM-1.0
: I( g3 N  b' tauth       required     pam_userdb.so db=/etc/vsftpd/vuser.d/vuser9 L! B: \  J* v  K% F3 [
account    required     pam_userdb.so db=/etc/vsftpd/vuser.d/vuser" Q: {# o" @* e' o2 K; ?. K
-----------------------------------
2 n9 v( G% ~& e3 M4 p" E注意:db=/etc/vsftpd/vuser.d/vuser 不可以加.db的扩展名,否则认证不成功6 J: O+ o1 W7 u
4.3.实例演示:配置一个虚拟用户
( M- ]2 Z) I7 ^1)创建 ftp 虚拟用户 test1 的数据目录和秘钥文件2 |8 O5 k! o/ t  t. P3 j5 k% k& X- Z
mkdir -p /data/ftpdata/zhaoshuai
5 t" x% Q; M. p( g6 ^  Otouch /data/ftpdata/zhaoshuai/ccc.txt               # 创建测试文件! F% d, `7 }$ t
mkdir -p /data/ftpdata/zhaoshuai/ddd) b' F5 |5 c* L7 C$ H& P) w( }
chown -R ftpvuser.ftpvuser /data/ftpdata& @6 {: `) o( n" f' [3 E7 a. |4 j
chmod 755 /data/ftpdata/
$ t3 X4 t% e; F7 s- mls -lhd /data/ftpdata/# _0 ~7 N4 }" m2 j5 I, ^
ls -lh /data/ftpdata/
7 v* L* Q. Y; \) u+ A' B# K- G2)把该虚拟用户 test1 添加到 user_list 文件中- r' N- p% Z$ A1 _2 j+ D
vim /etc/vsftpd/user_list
$ K5 [) p2 y7 L* U- R$ o---------------------
5 D9 w+ `1 X- Z2 U. Azhaoshuai
( {: _$ H1 B9 k8 V1 l----------------------% c, `7 t8 F+ H( z# N6 I8 M' L
备注:/ e- b! }2 A% r% J* A
1)注释掉其他本地用户认证的内容,因为启用了 guest_enable 后,本地用户将失效,所有非匿名用户变成虚拟用户6 }+ y8 a& ?$ l0 c1 o7 ?! ^# X
2)因为需要授权访问的用户比较少,所以user_list设置为可以访问ftp服务的用户2 Q2 S% |6 w$ Q9 R) a
3)创建或修改虚拟用户秘钥信息
0 s& l8 R  _1 I- f" e/ lcd /etc/vsftpd/vuser.d+ ]0 T1 L$ u1 @& d6 [4 e! K
vim  vuser.list4 h+ H0 Z/ T, y: X; v
--------------------
) y! v; O3 F4 b2 u  u" ?# h9 lzhaoshuai3 H* u1 Q( a4 q6 d1 b
zhaoshuai               # 这里的密码和系统用户 zhaoshuai 的密码不同用以区分
; E4 ~' S* G/ s7 U--------------------" a/ Q3 v/ E2 Q6 P# @; w% h9 f0 u. `
db_load -T -t hash -f vuser.list vuser.db
4 \* T9 r% f2 L5 _该文件的格式为:一行用户名一行密码
4 R+ L  ?$ F! {( g: k4)为用户创建授权配置文件(文件名必须为虚拟用户名)7 j, ~) _; u7 J8 ~+ X
cd /etc/vsftpd/vuser.d! f2 R* R! O; J- Z" P  L
vim zhaoshuai  ^+ c4 |, |* u
---------------------------
. S' L! o( e- ]* _, `( {  k9 Q/ Y# 指定宿主目录,配置访问权限: k! o" L- V) X5 D5 l1 d* o
local_root=/data/ftpdata/zhaoshuai  # 虚拟用户的宿主目录
1 M* F3 [" V7 C9 D6 kwrite_enable=YES
1 _3 ?( o1 {4 h4 Y7 ranon_upload_enable=YES       # 上传
  n  l# L4 G( a4 Lanon_mkdir_write_enable=YES      # 创建目录写权限4 I" U, G# _  T; Z) T* K
anon_other_write_enable=YES      # 其他写入权限
* G0 a4 X8 m3 j# }* V---------------------------# P4 K3 j' d7 C. o
5)配置完成刷新配置信息
) W7 X1 u2 o2 Y5 ]" psystemctl restart vsftpd6 B; z( h6 F5 T3 C( e3 Y2 F
systemctl status vsftpd
1 G" ?, V* B( j" [6 ?6 z7 d; B6)登陆测试' s0 u; `1 l' V& y7 D! j
[root@srv05-CT75 vuser.d]# ftp 127.0.0.14 h0 K+ q; c/ D, ?
Connected to 127.0.0.1 (127.0.0.1).( f* z( x/ o6 ?' W& a! o
220 (vsFTPd 3.0.2)
% q5 \4 m" Q! s% H5 I& [3 T6 OName (127.0.0.1:root): zhaoshuai5 Y3 z% d9 _3 Q- s1 A( U6 j
331 Please specify the password.
7 h, c3 W( W7 u6 I2 fPassword:                                       # 在这里使用系统用户zhaoshuai的密码无法登陆: y* b! d, v6 M$ n0 }7 T8 A& O2 p
530 Login incorrect.
" s, o" p, t; _8 B5 O* H; xLogin failed.
- G6 b0 Z+ v) O% @1 ^; zftp> exit
4 H9 f5 E2 C. l: Y5 P221 Goodbye./ _- s) w6 U# P$ G# ~! w
[root@srv05-CT75 vuser.d]# ftp 127.0.0.1
" W) J. J. K( Z) I: X7 ^Connected to 127.0.0.1 (127.0.0.1).
/ U4 n, @/ [/ D' u7 [' ]220 (vsFTPd 3.0.2)
9 H# Z8 G2 w0 k. v" i1 |% ZName (127.0.0.1:root): zhaoshuai# p+ F- e8 o, C) ?! k1 J
331 Please specify the password.5 \0 P/ h. n5 S3 [$ V
Password:                                       # 使用虚拟用户zhaoshuai的密码可以正常登录: r, w# s3 N. _* A& z! T7 @1 z
230 Login successful.; C0 S5 j2 u5 ]" T$ e
Remote system type is UNIX.
6 A: j0 K% U  L$ D% z. A/ _9 nUsing binary mode to transfer files.' F9 W- n+ w! S6 A' ]4 }  b" `
ftp> ( k- S7 a, z5 `9 F' Z
ftp> ls                                         # 可以查看到上面创建的测试文件
- t5 E3 H/ W8 \# o3 i  J9 |. E, I227 Entering Passive Mode (127,0,0,1,226,175).; k0 I9 t7 T+ w7 O. Y$ ^6 G$ B; l
150 Here comes the directory listing.
9 E' d; R! k: W! r0 zdrwxr-xr-x    3 1000     1000         4096 Jun 12 07:59 ccc.txt' s# o$ G, x3 X5 ]- \" t
drwxr-xr-x    6 1000     1000         4096 Jun 12 07:45 ddd3 [5 z( T7 L$ X, u3 H& A
226 Directory send OK.2 d, q+ L  t5 G: L: R  W1 M
ftp> exit- f/ s$ [8 S8 n2 z; ~* b
221 Goodbye.2 q9 t2 o+ X$ {8 t
回到顶部
7 C" X, G9 G, P: u/ ?拓展1:ftp 的防火墙配置
3 X. ~4 H/ Y. Z) a; E6 t8 b3 ~iptables -I INPUT -p tcp --dport 21 -j ACCEPT        # FTP连接端口
3 Z/ h% a* U# U! _iptables -I INPUT -p tcp --dport 33000:34000 -j ACCEPT   # pasv模式下的随机端口
! m* G+ |. i, n5 riptables-save >/etc/sysconfig/iptables             # 保存防火墙配置
$ t: o' c3 {1 g$ s' f$ Wsystemctl restart iptables.service% ^9 i$ Q! ~9 t, z) M: V6 E6 m
systemctl restart vsftpd.service- N' V2 `( j- p6 O
回到顶部
! f/ r. {+ }7 F. F7 T! b* w/ n拓展2:CentOS6安装vsftpd
$ c, w) d" Q* S$ \7 O3 F+ R方法相同,区别在于服务的启动命令是7 \, c( Q5 e' v
service vsftpd restart  @4 z/ k" _+ q1 F4 h8 Q1 s5 Q
service vsftpd status7 }5 `9 H, ~$ G6 m6 p9 O5 h0 y
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

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

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

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

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

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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