如何使用 VSFTPD 在 CentOS 7 上安装 FTP 服务器2 o5 D) X8 {& Z# l0 \% F* p
介绍
) R$ w" d% `' x如果您正在寻找安装 FTP 服务器,那么您将无法超越 VSFTPD 的简单性。
; i' j+ K0 F7 r; z+ U4 F% RFTP 代表文件传输协议。几十年来,它一直是在计算机之间传输文件的标准方法。
! ~' I. S j) k3 t* x虽然增加了安全措施,但 FTP 本质上是一种不安全的文件传输方法。但是,当文件可供多个用户使用时,或者在安全和专用网络中工作时,它会很有用。7 X; u1 `5 [: z/ ?9 T+ F; Z
本指南将向您展示如何 在 CentOS 7 上使用 VSFTPD 配置和安装 FTP 服务器。
8 Q: X$ ], u" z # A0 G6 T+ { {, j% [
先决条件3 d P* p' L% u4 v$ G" q
• 访问具有 sudo权限的用户帐户: Q+ |4 r- V$ O& @3 g( K
• yum包管理器,默认安装, c" r0 R: Z( J- C5 U) T
• 您选择的文本编辑器( q _5 z+ k1 x8 x
在 CentOS 7 上安装 FTP 服务器: {- ^- P8 M/ E7 S' A c
第 1 步:使用 VSFTPD 安装 FTP 服务. D0 u$ o* M8 z& h3 A+ F% W
1.首先更新包管理器:( p2 e7 U& d0 E9 z$ j
sudo yum update4 U+ T/ h$ c9 ~* Z0 l! z3 |
允许该过程完成。
3 ~/ V$ c/ c* H1 l1 _ N' U本指南使用VSFTPD (VSFTPD 代表“非常安全的 FTP 守护程序软件包”)。这是一个用于创建FTP 服务器的相对简单的软件实用程序。8 J/ d* L" X& m& j* f T* ?' q
2.使用以下命令安装VSFTPD软件:$ n$ i1 |6 |. H( V$ H1 F
sudo yum install vsftpd
' l( n3 N/ C. a d0 H出现提示时,键入Y以允许操作完成。
/ A8 v. w5 u# d% y& B6 v . o8 q7 m. y6 m2 Z: L0 s5 E
3.启动服务并将其设置为在系统启动时启动,如下所示:
' G% A% _# t0 o1 ?% Gsudo systemctl start vsftpd
, [0 x5 w: Q0 D, |sudo systemctl enable vsftpd
5 ]6 n* ~3 t) s: o' y+ B! c% @ 5 Y6 a Y; R) A
4. 接下来,为您的防火墙创建一个规则以允许端口 21 上的 FTP 流量:
0 U; E5 {* a- s0 B3 {2 {sudo firewall-cmd --zone=public --permanent --add-port=21/tcp9 U: N: |# M+ d# `; Y# Z5 r8 [4 r( B
sudo firewall-cmd --zone=public --permanent --add-service=ftp8 |5 `* l! j- L- f9 I
sudo firewall-cmd –-reload, p$ `$ \5 n! M# K5 O( W
3 G6 C% ^6 |/ z. U" t. N0 _注意:如果您使用不同的防火墙应用程序,请参阅文档为端口 21 正确配置它。此外,一些 FTP 客户端使用端口 20,因此您可能希望也包括该规则。只需复制第一行,并将 21 替换为 20。
; L) _5 N/ q% C3 T0 O2 Z# B1 ^第 2 步:配置 VSFTPD
8 K" ]9 j' q% x: Q服务器上 FTP 服务的行为由/etc/vsftpd/vsftpd.conf配置文件决定。
7 D( q3 _( o6 {" A1.开始之前,创建一个默认配置文件的副本: I- p5 v$ j$ L
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.default
9 s6 A& l9 F% \: N% `7 ?6 C这可确保您有办法返回到默认配置,以防您更改可能导致问题的设置。
8 w. L: u- ]( U: p" u2. 接下来,使用以下命令编辑配置文件:
+ \' Z9 w y6 P+ J9 n: N0 _sudo nano /etc/vsftpd/vsftpd.conf
6 x) n" B- p/ h3. 将您的 FTP 服务器设置为禁用匿名用户并允许本地用户。9 k$ F4 h8 Q- \! q0 L
在配置文件中找到以下条目,并编辑它们以匹配以下内容:
7 m5 r/ H3 Z; u8 S7 u2 panonymous_enable=NO
, M' |9 y4 q/ \local_enable=YES+ f& ]0 I' r# B* n, Q9 _- h
N e& n; F* T5 F$ _
这是重要的一步。匿名访问是有风险的——除非您了解风险,否则您应该避免使用它。
1 [( n( Z: I7 D0 {/ t4. 接下来,允许登录用户将文件上传到您的 FTP 服务器。
* \- e8 h# d. q8 m- }找到以下条目,并编辑以匹配如下:
1 b( S- L! m- Q# gwrite_enable=YES
5 ^6 ~+ m$ z6 e3 @$ k5 M6 J3 d注意:默认情况下,此行以# 符号开头,表示它是注释。注释是打开和关闭命令的有用方法。# 符号也可以用来在文件中做注释,而不需要系统将它们解释为指令。
& h( ?$ O7 b! W. _5. 限制 FTP 用户到他们自己的主目录。这通常称为jail 或chroot jail。查找并调整条目以匹配以下内容:3 g. s+ u' G2 Y# e
chroot_local_user=YES
( Q1 k3 [' r2 T# Wallow_writeable_chroot=YES4 K' M7 W3 _0 Y) A8 d6 n8 Y' x) Q
注意:出于测试目的,allow_writeable_chroot=YES选项将创建一个可运行的 FTP 服务器,您可以对其进行测试和使用。一些管理员提倡使用user_sub_token选项以获得更好的安全性。* G% j# ]( I: X3 P( r8 S3 b: u
有关此选项的更多信息,请参阅vsftpd 文档。$ _& V; R0 y1 E1 c# y/ @
6.vsftpd实用程序提供了一种创建批准用户列表的方法。要以这种方式管理用户,请找到该userlist_enable条目,然后将文件编辑为如下所示:0 G4 `, \5 }% k4 r6 x
userlist_enable=YES7 k. T# e1 B9 L! S, h0 d' w- k' T5 U
userlist_file=/etc/vsftpd/user_list
# v J+ ~+ S7 s" ]' guserlist_deny=NO9 ]$ K/ J+ E m4 H2 Q/ {+ w
您现在可以编辑/etc/vsftpd/user_list文件,并添加您的用户列表。(每行列出一个。)该userlist_deny选项允许您指定要包含的用户;将其设置为yes会将列表更改为被阻止的用户。
- u) o, |6 Y: F6 j5 L+ K7. 完成编辑配置文件后,保存更改。重新启动vsftpd服务以应用更改:
& ^! l8 q9 N" j5 }sudo systemctl restart vsftpd
/ c# ^" M' |5 ` z注意:通过访问文章如何使用 Linux ftp 命令了解有关 FTP 的更多信息。+ M; N# M0 v( v) h) ]
第 3 步:创建新的 FTP 用户
6 u, |4 P, P* Q8 G+ Z/ S. U) B1 V1. 要创建新的 FTP 用户,请输入以下内容:
0 m, \) N& E" ]/ i5 M- B3 lsudo adduser testuser
4 l( t2 h4 S% g6 M3 L" Z: @sudo passwd testuser
# j+ \1 l! E1 h0 _" [! n* j系统应提示您输入并确认新用户的密码。# [7 Y; J! m3 I' m8 M) ]
2. 将新用户添加到用户列表:
/ c4 q( h$ @0 T% y0 l decho “testuser” | sudo tee –a /etc/vsftpd/user_list
' |8 i: Q8 I5 T+ k; a" e& C" i2 K1 k3.为新用户创建目录,并调整权限:
, z9 m2 H2 ~- u+ }, Y' wsudo mkdir –p /home/testuser/ftp/upload$ C5 e8 c' t( k
sudo chmod 550 /home/testuser/ftp
: G; B' v7 b' a, I$ `sudo chmod 750 /home/testuser/ftp/upload
' \ Y5 j; s' Lsudo chown –R testuser: /home/testuser/ftp
. b3 X* D' _; r
" d K2 H/ _. x这将为新用户创建一个home/testuser目录,其中包含一个用于上传的特殊目录。它仅将上传权限设置到 /uploads 目录。
) o0 Z8 g1 D- p4 ?, e, |& V4. 现在,您可以使用您创建的用户登录到您的 FTP 服务器:
( `( G6 \% m& Q6 N1 bftp 192.168.01% J6 d9 _- \/ |" L6 K
将此 IP 地址替换为您系统中的 IP 地址。您可以使用该 命令在 Linux 中找到您的 IP 地址。ip addr" a% T2 [" T3 t. M) q0 C
系统应提示您输入用户名 - 输入您之前创建的任何用户名。输入密码,系统应该让您登录。; c# ~1 U _, h4 u! ^0 G
注意: phoenixNAP 知识库还提供以下使用 VSFTPD 的 FTP 服务器设置指南:
( [/ z( x/ A3 Z% T2 |4 c- ~• 如何使用 Vsftpd 在 Ubuntu 上安装 FTP 服务器' F1 g Y' ^% l+ n
• 如何在 Raspberry Pi 上设置 FTP 服务器" f6 r3 |1 u1 H/ V6 C" z- F
第 4 步:测试 FTP 服务器
' o* \4 E5 v5 b0 Y* e [- f( U- h要在本地测试 FTP 服务器,请使用以下命令:
; l$ n% ~) B3 @ftp localhost; N0 k# q- K* E4 x. ]4 w: O. k7 u+ n) e
# V* i2 K5 y1 R要远程测试,请使用以下命令:
+ d4 }' G. W7 rftp your.ftp.server.com
- {4 B0 W6 |) g, R u7 N) j! y" p
注意:虽然本指南中包含了一些安全措施,但强烈建议您在生产环境中实施 FTP 服务器之前熟悉最新的安全协议。如果您正在创建一个对 Internet 开放的 FTP 服务器,这一点尤其重要——许多安全漏洞都源于 FTP 协议。4 k& ^& v+ \6 n0 O' R) O/ M3 S. u
结论
1 H$ j+ s$ J; j现在您知道如何使用 VSFTPD 在 Centos 7 上设置和安装 FTP 服务器。您应该能够通过 FTP 登录到您的服务器并开始传输文件。* K! w: k/ n4 I0 q7 i( ~! D4 x
+ D0 B& u6 p$ e E% G# m& k
3 U _% a1 Q5 t; Ohttps://phoenixnap.com/kb/how-to ... all-vsftpd-centos-7
0 I9 I0 ^ r s. s8 w |