如何使用 VSFTPD 在 CentOS 7 上安装 FTP 服务器 U: M3 c2 Q. k x. V
介绍- x1 d1 q, _& x c, A1 S
如果您正在寻找安装 FTP 服务器,那么您将无法超越 VSFTPD 的简单性。- w8 f# ?+ l# r3 y6 n+ _
FTP 代表文件传输协议。几十年来,它一直是在计算机之间传输文件的标准方法。6 v8 z; ?* m0 m& B( {+ r: m1 Q2 {
虽然增加了安全措施,但 FTP 本质上是一种不安全的文件传输方法。但是,当文件可供多个用户使用时,或者在安全和专用网络中工作时,它会很有用。
5 _4 T$ B2 w8 Y" |( Z6 f3 |& R8 P" R本指南将向您展示如何 在 CentOS 7 上使用 VSFTPD 配置和安装 FTP 服务器。0 }# L5 w+ N# ~( L7 B
2 i0 }3 M; A$ j" _/ x' R @8 H6 q先决条件
% S- s' S9 v- ~3 w+ O8 W• 访问具有 sudo权限的用户帐户
0 D! s8 f P3 I& E; @; \( V, f! @6 L/ d+ Z• yum包管理器,默认安装# e3 \& O# f) Y* P0 Z; J
• 您选择的文本编辑器% g& E- }3 H/ Y5 h; v
在 CentOS 7 上安装 FTP 服务器1 m8 {$ Z/ b6 v6 [% B
第 1 步:使用 VSFTPD 安装 FTP 服务
" {; y$ z3 E. S" l$ o0 Y% u1.首先更新包管理器:4 J2 `- D5 ~! b' J- x) I
sudo yum update/ L5 V* v# a. M6 I9 H
允许该过程完成。
; m' ?3 I' p- H* d/ _+ H本指南使用VSFTPD (VSFTPD 代表“非常安全的 FTP 守护程序软件包”)。这是一个用于创建FTP 服务器的相对简单的软件实用程序。; E6 P! Y+ ^+ `, t
2.使用以下命令安装VSFTPD软件:
, o. \. ?% I# s( V, H- ^sudo yum install vsftpd% [" u4 v: I4 M2 A
出现提示时,键入Y以允许操作完成。
. ~; r2 C$ I0 I6 z3 V5 H D + K/ r" U% D x$ z5 v, K6 B e
3.启动服务并将其设置为在系统启动时启动,如下所示:/ m7 J+ R( W- ? {3 n6 ]
sudo systemctl start vsftpd
# K) E. M6 L) {6 ~4 hsudo systemctl enable vsftpd
9 R9 b( A: E) L3 q, h! y
5 q# _+ |: {; a/ l! u* p4. 接下来,为您的防火墙创建一个规则以允许端口 21 上的 FTP 流量:
/ ^! P( S# u( p1 a' j% Asudo firewall-cmd --zone=public --permanent --add-port=21/tcp4 v; x. ?7 @* }4 F6 J$ I
sudo firewall-cmd --zone=public --permanent --add-service=ftp6 {' q( y( Y, N6 y, J8 D
sudo firewall-cmd –-reload
) @, Y6 G* \/ J# r& ]- ~$ u0 x; I ; p& X7 `) K/ ?+ A' q7 b5 F( f
注意:如果您使用不同的防火墙应用程序,请参阅文档为端口 21 正确配置它。此外,一些 FTP 客户端使用端口 20,因此您可能希望也包括该规则。只需复制第一行,并将 21 替换为 20。* K$ N. e5 {( l% {
第 2 步:配置 VSFTPD) D& N$ q$ x! m. j. T; l# [- o
服务器上 FTP 服务的行为由/etc/vsftpd/vsftpd.conf配置文件决定。
, J6 C5 ]: C0 {+ |8 }1 Y9 r1.开始之前,创建一个默认配置文件的副本:
. z, \, D) O' M: y) @sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.default
& J7 c$ Q. {! q* i2 D$ d L4 L6 @这可确保您有办法返回到默认配置,以防您更改可能导致问题的设置。; q" K/ X8 {) v# L' ^& ]" h# z( G
2. 接下来,使用以下命令编辑配置文件:
|2 J5 c2 W: `- P8 Hsudo nano /etc/vsftpd/vsftpd.conf- v& r7 R1 F- {3 q. n1 ~
3. 将您的 FTP 服务器设置为禁用匿名用户并允许本地用户。
8 v/ _3 w# F! g) f& {( P; s在配置文件中找到以下条目,并编辑它们以匹配以下内容:* ]3 a# p$ X" R
anonymous_enable=NO7 F2 ~5 | P3 U: h& x% T0 u
local_enable=YES% t7 r' r, r( P4 S
5 A# D- w' _( Q9 Z0 E$ `8 ?
这是重要的一步。匿名访问是有风险的——除非您了解风险,否则您应该避免使用它。
3 `! N" x2 E4 ?0 A/ `3 y; E4. 接下来,允许登录用户将文件上传到您的 FTP 服务器。
& W: _+ n- E5 x4 w$ j G, T. P/ Z8 N找到以下条目,并编辑以匹配如下:! M' ]3 r3 s9 x! I3 n( y
write_enable=YES
: }1 _6 u- R) u# \- y( {& h6 |$ q注意:默认情况下,此行以# 符号开头,表示它是注释。注释是打开和关闭命令的有用方法。# 符号也可以用来在文件中做注释,而不需要系统将它们解释为指令。3 o4 v% c* R3 n3 ? L
5. 限制 FTP 用户到他们自己的主目录。这通常称为jail 或chroot jail。查找并调整条目以匹配以下内容:' @, u u. x: a0 f* x) c
chroot_local_user=YES
( N, V# D2 C$ Tallow_writeable_chroot=YES; l4 y# A. k, ~/ S6 c$ |% S
注意:出于测试目的,allow_writeable_chroot=YES选项将创建一个可运行的 FTP 服务器,您可以对其进行测试和使用。一些管理员提倡使用user_sub_token选项以获得更好的安全性。8 E8 R4 g! d8 i6 O
有关此选项的更多信息,请参阅vsftpd 文档。
3 H4 T# v- A6 r9 z2 E# T6.vsftpd实用程序提供了一种创建批准用户列表的方法。要以这种方式管理用户,请找到该userlist_enable条目,然后将文件编辑为如下所示:9 C& D/ V# R! |- w: s% Z
userlist_enable=YES
, o, v" c% ^; v1 H& Uuserlist_file=/etc/vsftpd/user_list$ {0 E: o! u. w( c
userlist_deny=NO
7 g( I0 h/ [1 X/ {1 P$ S您现在可以编辑/etc/vsftpd/user_list文件,并添加您的用户列表。(每行列出一个。)该userlist_deny选项允许您指定要包含的用户;将其设置为yes会将列表更改为被阻止的用户。
! R B3 a) q8 S3 u) W w, \/ ^' p7. 完成编辑配置文件后,保存更改。重新启动vsftpd服务以应用更改:
: g# h1 ?3 C3 z9 L* Gsudo systemctl restart vsftpd( b# [2 `/ Q. d
注意:通过访问文章如何使用 Linux ftp 命令了解有关 FTP 的更多信息。- s+ _% o5 k$ \3 L Z* ^
第 3 步:创建新的 FTP 用户
# H$ Q7 v) z: u& d( I1. 要创建新的 FTP 用户,请输入以下内容:6 u/ _; t! B% B' Y4 u2 k* \$ Y( P0 L
sudo adduser testuser% G( d, L) Z: m/ K
sudo passwd testuser9 z% z2 Y) \- Z2 F" \# S1 d1 K
系统应提示您输入并确认新用户的密码。
3 T' P2 e: _% E; d2. 将新用户添加到用户列表:& {) @ W! S9 S/ e2 k
echo “testuser” | sudo tee –a /etc/vsftpd/user_list8 H6 F/ h" h& e5 Q4 ?* r. \1 f
3.为新用户创建目录,并调整权限:
! X( ]$ T6 u! asudo mkdir –p /home/testuser/ftp/upload: q7 ]9 y8 y+ Y% {6 Z3 @
sudo chmod 550 /home/testuser/ftp
' ?' I3 l1 ^0 f1 Q4 I+ v1 Y) H. bsudo chmod 750 /home/testuser/ftp/upload$ x* w5 `9 L+ u& @5 w6 @
sudo chown –R testuser: /home/testuser/ftp
% d9 D6 ?& `& F/ u # {, P- v/ J- L
这将为新用户创建一个home/testuser目录,其中包含一个用于上传的特殊目录。它仅将上传权限设置到 /uploads 目录。8 b b, x3 C/ e, b5 ^3 M0 P
4. 现在,您可以使用您创建的用户登录到您的 FTP 服务器:$ H9 B0 @' K' W% z) b
ftp 192.168.019 e0 q/ H# o6 L
将此 IP 地址替换为您系统中的 IP 地址。您可以使用该 命令在 Linux 中找到您的 IP 地址。ip addr& ^2 F" H' x2 t _: d8 G
系统应提示您输入用户名 - 输入您之前创建的任何用户名。输入密码,系统应该让您登录。" j" R5 b- g. M+ Q0 K# `
注意: phoenixNAP 知识库还提供以下使用 VSFTPD 的 FTP 服务器设置指南:
2 j U% [. }# r" w: J6 n$ i2 _/ E! m• 如何使用 Vsftpd 在 Ubuntu 上安装 FTP 服务器
* y, N4 A3 n4 b5 ~, l- o0 S• 如何在 Raspberry Pi 上设置 FTP 服务器/ K8 e+ I2 t$ {1 E6 _: i+ E% r6 p
第 4 步:测试 FTP 服务器& w# b. J" v5 b/ k7 P- E; [
要在本地测试 FTP 服务器,请使用以下命令:2 |5 i6 Y& M% G; O+ ]1 O
ftp localhost# z1 {9 S* b& U* o$ J
! l5 u5 s% ]) a* d. o. f4 p' T要远程测试,请使用以下命令:
7 W' F' }7 `0 h3 O8 rftp your.ftp.server.com
5 Q3 N, i* n% _9 o 2 Y! _1 s% D1 C2 M `( O9 B& I# U
注意:虽然本指南中包含了一些安全措施,但强烈建议您在生产环境中实施 FTP 服务器之前熟悉最新的安全协议。如果您正在创建一个对 Internet 开放的 FTP 服务器,这一点尤其重要——许多安全漏洞都源于 FTP 协议。4 Q2 ^2 ?! [: w# a) w$ ~, e: N
结论% e% `* G" a* [: [5 A# n: g# m/ G' ~4 F
现在您知道如何使用 VSFTPD 在 Centos 7 上设置和安装 FTP 服务器。您应该能够通过 FTP 登录到您的服务器并开始传输文件。
; l6 {( F4 ?2 ]4 m$ Y$ D- F& U
" n, i2 D* j1 [0 x# u6 V
https://phoenixnap.com/kb/how-to ... all-vsftpd-centos-7/ E7 Z! E- _6 o
|