如何使用 VSFTPD 在 CentOS 7 上安装 FTP 服务器
0 b- j- d4 ], B |7 q介绍* x) A% c. ~4 u1 z+ Q' D2 ^
如果您正在寻找安装 FTP 服务器,那么您将无法超越 VSFTPD 的简单性。7 _8 Z- b7 x/ f
FTP 代表文件传输协议。几十年来,它一直是在计算机之间传输文件的标准方法。
, o* I D) B) z j0 J$ O虽然增加了安全措施,但 FTP 本质上是一种不安全的文件传输方法。但是,当文件可供多个用户使用时,或者在安全和专用网络中工作时,它会很有用。
3 q) Z; ?% r/ {( j- X. Y本指南将向您展示如何 在 CentOS 7 上使用 VSFTPD 配置和安装 FTP 服务器。
# A" U- M1 d: ^+ y ( z4 x$ Z; [. @8 G
先决条件
/ R5 W: z, `5 b# k( q% h9 c) A• 访问具有 sudo权限的用户帐户; K2 _6 A( t! Z. x' `
• yum包管理器,默认安装" c' u# H. B% b6 e" _0 T$ y
• 您选择的文本编辑器/ `3 T1 x1 Y+ N2 {9 B
在 CentOS 7 上安装 FTP 服务器
' O( u8 Z L3 c$ t1 N7 M第 1 步:使用 VSFTPD 安装 FTP 服务
- H8 b, b- ^( m) I! y- t7 t1.首先更新包管理器:
/ L2 h! Q/ }/ ]6 K# D$ ?- w3 f$ hsudo yum update* c0 [) l* |. M# h2 {! B
允许该过程完成。
1 U7 ^" b5 l+ _1 S本指南使用VSFTPD (VSFTPD 代表“非常安全的 FTP 守护程序软件包”)。这是一个用于创建FTP 服务器的相对简单的软件实用程序。
9 }; e: e9 x4 H1 @2.使用以下命令安装VSFTPD软件:& e8 X' w# L) d+ |* }
sudo yum install vsftpd
, A W) E$ |6 z9 L1 q出现提示时,键入Y以允许操作完成。
4 {$ b0 ]" m- P7 Y2 K3 @5 X ; y. R- l0 F4 L7 o, Y1 Y0 y
3.启动服务并将其设置为在系统启动时启动,如下所示:
( d& x; H: w* J2 Xsudo systemctl start vsftpd% o/ a3 x: N$ _+ f
sudo systemctl enable vsftpd8 M$ y0 s& N4 E8 Q
: C% N1 r0 Y% t1 H; x# i% e
4. 接下来,为您的防火墙创建一个规则以允许端口 21 上的 FTP 流量:) V( V U. Q4 M6 m$ e
sudo firewall-cmd --zone=public --permanent --add-port=21/tcp
) I5 c) Z. k$ O# e# r: fsudo firewall-cmd --zone=public --permanent --add-service=ftp- ]+ s9 F9 j4 R. U, E4 b8 V& q* N
sudo firewall-cmd –-reload7 W5 F& C* ~* J" n& M
" m3 g1 R3 @. n2 N. T" D
注意:如果您使用不同的防火墙应用程序,请参阅文档为端口 21 正确配置它。此外,一些 FTP 客户端使用端口 20,因此您可能希望也包括该规则。只需复制第一行,并将 21 替换为 20。
, S- L( A0 [8 F( t: }7 O2 D2 w第 2 步:配置 VSFTPD3 v9 O7 I3 d9 ~9 e, o9 j
服务器上 FTP 服务的行为由/etc/vsftpd/vsftpd.conf配置文件决定。
- d! `. v/ d0 v) R1.开始之前,创建一个默认配置文件的副本:
3 K* i, S9 } |: N" {2 J, d9 Hsudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.default9 }. q4 ?7 x$ C$ b* l8 T
这可确保您有办法返回到默认配置,以防您更改可能导致问题的设置。- z, o5 a$ E9 q- Z. N1 S$ _
2. 接下来,使用以下命令编辑配置文件:
3 D+ V( D- _! Xsudo nano /etc/vsftpd/vsftpd.conf* U( J5 `- e# T/ M. @
3. 将您的 FTP 服务器设置为禁用匿名用户并允许本地用户。
, y* O0 U9 Q" X7 M8 v在配置文件中找到以下条目,并编辑它们以匹配以下内容:9 [& d" Y" k! {5 Y( `' R3 E) z! b4 m
anonymous_enable=NO
# l' j/ n- M0 Z+ ?5 v; clocal_enable=YES+ c3 K. Y: V( b& i$ B2 l
6 P+ {0 r, l& K2 [3 T O9 D
这是重要的一步。匿名访问是有风险的——除非您了解风险,否则您应该避免使用它。
; ~9 |# k, N. Q1 r9 W$ l) X5 C4. 接下来,允许登录用户将文件上传到您的 FTP 服务器。
+ b: j: z3 A2 ~2 f找到以下条目,并编辑以匹配如下:
. q: t. c$ j* z9 A. Y7 w( W$ K# g$ b6 ewrite_enable=YES7 m2 k' C+ m; N+ |, F) j7 T. a+ Q
注意:默认情况下,此行以# 符号开头,表示它是注释。注释是打开和关闭命令的有用方法。# 符号也可以用来在文件中做注释,而不需要系统将它们解释为指令。; T* f5 o& v5 e
5. 限制 FTP 用户到他们自己的主目录。这通常称为jail 或chroot jail。查找并调整条目以匹配以下内容:
1 h: X1 K8 f* dchroot_local_user=YES3 j* Y4 C. X1 D1 i) X8 U& s
allow_writeable_chroot=YES
* n% e( X A3 P9 T注意:出于测试目的,allow_writeable_chroot=YES选项将创建一个可运行的 FTP 服务器,您可以对其进行测试和使用。一些管理员提倡使用user_sub_token选项以获得更好的安全性。
: l. {, V: Q; K+ s有关此选项的更多信息,请参阅vsftpd 文档。
. g) \+ W1 F1 Y6.vsftpd实用程序提供了一种创建批准用户列表的方法。要以这种方式管理用户,请找到该userlist_enable条目,然后将文件编辑为如下所示:8 J/ x5 O" Z2 }* V8 f7 B: v
userlist_enable=YES% q3 c" L7 y5 C, z9 K
userlist_file=/etc/vsftpd/user_list
1 W! Z- C9 u% @2 T1 I8 Cuserlist_deny=NO
3 N7 j# X; |- K- X您现在可以编辑/etc/vsftpd/user_list文件,并添加您的用户列表。(每行列出一个。)该userlist_deny选项允许您指定要包含的用户;将其设置为yes会将列表更改为被阻止的用户。) N& ~9 D( r8 ]$ Z5 h
7. 完成编辑配置文件后,保存更改。重新启动vsftpd服务以应用更改:/ L; J7 m# J8 Q1 Q) m3 \& m* {) G9 G/ I
sudo systemctl restart vsftpd
_0 y* L4 N- K x注意:通过访问文章如何使用 Linux ftp 命令了解有关 FTP 的更多信息。$ J2 {8 y6 r$ N. R$ {
第 3 步:创建新的 FTP 用户" s+ E. m+ ~9 m
1. 要创建新的 FTP 用户,请输入以下内容:
% \4 a# u1 M, B% B; fsudo adduser testuser
' G) }; A8 l1 B& Jsudo passwd testuser4 H$ _+ A* O/ U* S0 R* A
系统应提示您输入并确认新用户的密码。; F1 v! _" \% a) B5 v# g2 l, g
2. 将新用户添加到用户列表:. u8 F5 v5 u+ Q# D& h5 Z0 Q. T& y4 {
echo “testuser” | sudo tee –a /etc/vsftpd/user_list
7 ?! x7 {6 R; l. T$ l3.为新用户创建目录,并调整权限:
5 C2 Z" m" H7 p! Q; F9 `! L) bsudo mkdir –p /home/testuser/ftp/upload
) }0 v+ g2 p$ S# X U8 K5 Nsudo chmod 550 /home/testuser/ftp5 _ F5 b; O& S
sudo chmod 750 /home/testuser/ftp/upload3 H1 c" f1 }5 }
sudo chown –R testuser: /home/testuser/ftp; t+ X+ _1 w$ H. G8 e. q/ `! T
# D4 t# L0 p' _; V这将为新用户创建一个home/testuser目录,其中包含一个用于上传的特殊目录。它仅将上传权限设置到 /uploads 目录。2 l. m' g6 _9 j; |. T6 m
4. 现在,您可以使用您创建的用户登录到您的 FTP 服务器:" s$ d: c# R" ~; l
ftp 192.168.01: T# r; \, G" N# O! R7 u* A
将此 IP 地址替换为您系统中的 IP 地址。您可以使用该 命令在 Linux 中找到您的 IP 地址。ip addr/ A& z; m3 x% {' S, G5 m4 Y# n% ?& G
系统应提示您输入用户名 - 输入您之前创建的任何用户名。输入密码,系统应该让您登录。) K/ F: v4 n$ |( r
注意: phoenixNAP 知识库还提供以下使用 VSFTPD 的 FTP 服务器设置指南:
: V9 T6 { b3 l/ E$ z0 U; V) }% @1 Z" R• 如何使用 Vsftpd 在 Ubuntu 上安装 FTP 服务器
& [2 `2 w+ ~! p- a6 c• 如何在 Raspberry Pi 上设置 FTP 服务器3 L5 L# B6 Q4 d& F
第 4 步:测试 FTP 服务器 D) e4 }" Y* ]5 a
要在本地测试 FTP 服务器,请使用以下命令:9 i1 G" `2 t0 a
ftp localhost& }; D" m# q1 u _" p
3 k+ `( z( t. w0 |: E要远程测试,请使用以下命令:8 J. \) v$ U7 j: C1 K
ftp your.ftp.server.com
! }1 X7 m Q7 j( w6 g$ a5 m $ g1 W9 Q9 c0 [$ R+ G, ^& d& ^
注意:虽然本指南中包含了一些安全措施,但强烈建议您在生产环境中实施 FTP 服务器之前熟悉最新的安全协议。如果您正在创建一个对 Internet 开放的 FTP 服务器,这一点尤其重要——许多安全漏洞都源于 FTP 协议。) c: h& z3 V( B& Q- W V
结论: B# P% |, g" y8 v1 n* l
现在您知道如何使用 VSFTPD 在 Centos 7 上设置和安装 FTP 服务器。您应该能够通过 FTP 登录到您的服务器并开始传输文件。
5 [& M! R4 m6 G
2 u; a- F* T# q9 K2 b
+ l% c7 j! ?' ghttps://phoenixnap.com/kb/how-to ... all-vsftpd-centos-7
1 z% n6 a8 J( i9 M o |