如何使用 VSFTPD 在 CentOS 7 上安装 FTP 服务器& Y( Z5 a0 ^& a& f
介绍8 X, I U: Y' m/ A! T
如果您正在寻找安装 FTP 服务器,那么您将无法超越 VSFTPD 的简单性。
* |7 S( T |3 O# u) CFTP 代表文件传输协议。几十年来,它一直是在计算机之间传输文件的标准方法。' |$ h& O, q0 U7 I: e% [$ G+ G
虽然增加了安全措施,但 FTP 本质上是一种不安全的文件传输方法。但是,当文件可供多个用户使用时,或者在安全和专用网络中工作时,它会很有用。/ F( H2 o" A6 P3 f6 M% ~' M. c
本指南将向您展示如何 在 CentOS 7 上使用 VSFTPD 配置和安装 FTP 服务器。
$ t% `6 V$ m8 ^3 U
+ v g4 V5 _/ y9 L5 } \* `9 u; G' l先决条件7 O, e, l6 e/ I0 y% G. B
• 访问具有 sudo权限的用户帐户
5 {4 z( K5 @6 I+ s) G! I• yum包管理器,默认安装
' m @% s( E/ }+ c8 n• 您选择的文本编辑器
. V5 S% \& ?2 J在 CentOS 7 上安装 FTP 服务器
" k3 B/ v, f9 r, i# S8 ~第 1 步:使用 VSFTPD 安装 FTP 服务
& i# B/ J, u7 P' y; t1.首先更新包管理器:
( O% V3 Q0 O" x9 E. ssudo yum update7 p' D7 N7 \ V1 ]
允许该过程完成。
( Q, A9 r( L/ U; L, y本指南使用VSFTPD (VSFTPD 代表“非常安全的 FTP 守护程序软件包”)。这是一个用于创建FTP 服务器的相对简单的软件实用程序。" b1 G8 ~9 b+ \
2.使用以下命令安装VSFTPD软件:5 c' C! o( U' r, B
sudo yum install vsftpd. f" w0 }4 t8 i! V. B. C6 ~2 x
出现提示时,键入Y以允许操作完成。, f ~. s0 e @. s
4 f9 h% N2 k/ G* v. Q- z- F
3.启动服务并将其设置为在系统启动时启动,如下所示:
% d5 X6 V1 {2 m) b6 asudo systemctl start vsftpd
' e1 l! J4 g: N9 V! @; T0 Z0 Fsudo systemctl enable vsftpd/ Q, W) i! v6 e/ O# M$ X
& J; s- s7 S Q8 R( J" k1 U
4. 接下来,为您的防火墙创建一个规则以允许端口 21 上的 FTP 流量:2 t! k7 n- e9 P: t
sudo firewall-cmd --zone=public --permanent --add-port=21/tcp
F$ D7 b! H G/ z1 I5 u) esudo firewall-cmd --zone=public --permanent --add-service=ftp1 ?% g' W) E3 I$ s3 z o2 a+ u
sudo firewall-cmd –-reload
' G |6 C7 q1 O/ r$ z B$ `& t+ H$ x: ]! m
注意:如果您使用不同的防火墙应用程序,请参阅文档为端口 21 正确配置它。此外,一些 FTP 客户端使用端口 20,因此您可能希望也包括该规则。只需复制第一行,并将 21 替换为 20。, @; u+ A+ q7 U' B3 P: [
第 2 步:配置 VSFTPD& N. O! _4 s' r3 s% v
服务器上 FTP 服务的行为由/etc/vsftpd/vsftpd.conf配置文件决定。4 ?' m' E% V! W/ h6 [" Y/ |6 a
1.开始之前,创建一个默认配置文件的副本:
6 v& p* V0 H [; b9 o* I* ksudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.default5 M$ Q0 |7 n4 L6 p* |
这可确保您有办法返回到默认配置,以防您更改可能导致问题的设置。
9 ^. U6 Y. C1 \7 n1 n- X2. 接下来,使用以下命令编辑配置文件:/ o$ k5 E. F) `# G- i! R5 U+ y
sudo nano /etc/vsftpd/vsftpd.conf. t A2 P) r' l5 S$ r: `% M! h3 j
3. 将您的 FTP 服务器设置为禁用匿名用户并允许本地用户。
1 g6 x" d+ d8 S& S; m! ?! P在配置文件中找到以下条目,并编辑它们以匹配以下内容:5 p% Q, K! c1 U! ^
anonymous_enable=NO6 S$ R( ]" m8 q
local_enable=YES
O7 J) B U' D , u4 Z$ r( r* r* ~
这是重要的一步。匿名访问是有风险的——除非您了解风险,否则您应该避免使用它。
0 X# d0 \# `2 n$ T) ?4. 接下来,允许登录用户将文件上传到您的 FTP 服务器。% q, I) E, ^% k% {0 W
找到以下条目,并编辑以匹配如下:
) t2 Q5 F5 w5 _$ v6 S" V- F$ Owrite_enable=YES
+ O* W' y) |/ z" m注意:默认情况下,此行以# 符号开头,表示它是注释。注释是打开和关闭命令的有用方法。# 符号也可以用来在文件中做注释,而不需要系统将它们解释为指令。
- D) N" f4 v4 z; C5. 限制 FTP 用户到他们自己的主目录。这通常称为jail 或chroot jail。查找并调整条目以匹配以下内容:+ \3 O! R) ~6 }. o( h4 ^
chroot_local_user=YES8 l. D" h6 o7 z- y2 k
allow_writeable_chroot=YES
2 ^/ q. s+ k7 @% n6 s5 ]注意:出于测试目的,allow_writeable_chroot=YES选项将创建一个可运行的 FTP 服务器,您可以对其进行测试和使用。一些管理员提倡使用user_sub_token选项以获得更好的安全性。
- v7 `& W% _$ S* F$ M1 w有关此选项的更多信息,请参阅vsftpd 文档。
! o- L: z; l9 v6 Z% K4 p6.vsftpd实用程序提供了一种创建批准用户列表的方法。要以这种方式管理用户,请找到该userlist_enable条目,然后将文件编辑为如下所示: ~% k( g/ W. {) l
userlist_enable=YES2 o0 @! w" v4 ^2 O4 y- u
userlist_file=/etc/vsftpd/user_list, e$ o0 q- ^" ?; i& T* j% ~. G# T2 ~5 i7 G
userlist_deny=NO
' X% U; d0 r1 P3 d您现在可以编辑/etc/vsftpd/user_list文件,并添加您的用户列表。(每行列出一个。)该userlist_deny选项允许您指定要包含的用户;将其设置为yes会将列表更改为被阻止的用户。4 }5 @) d* J" X3 K
7. 完成编辑配置文件后,保存更改。重新启动vsftpd服务以应用更改:$ Z I/ `, t( i1 ^
sudo systemctl restart vsftpd* ^4 ^! p o- F w
注意:通过访问文章如何使用 Linux ftp 命令了解有关 FTP 的更多信息。
) {6 b2 A- s% k" W1 f第 3 步:创建新的 FTP 用户
% l- j' `3 j, z, ?/ Z: m. g1. 要创建新的 FTP 用户,请输入以下内容: t2 p8 ?9 e& j1 P! L+ o
sudo adduser testuser3 t& n5 G; a# I' I: s# h
sudo passwd testuser
2 J6 p- e1 q: G* ]7 Z4 M' C系统应提示您输入并确认新用户的密码。) _% @3 Y, ]- l: k. Q! F
2. 将新用户添加到用户列表:
& G, X' H6 J/ n" _7 r! L" O. Wecho “testuser” | sudo tee –a /etc/vsftpd/user_list
7 z9 c7 Z5 Z M+ f' {+ W: n' f% T. r3.为新用户创建目录,并调整权限:
! \% B- x ^/ W( ~sudo mkdir –p /home/testuser/ftp/upload
( ^0 g; O5 b' s* C8 h# Esudo chmod 550 /home/testuser/ftp: }2 M0 i; V5 v* ^
sudo chmod 750 /home/testuser/ftp/upload8 G3 x R4 Y; A, b" J% }
sudo chown –R testuser: /home/testuser/ftp# m( K0 c1 e% u; C6 o7 R
( ~- H( @4 O. j/ J. M" i! {
这将为新用户创建一个home/testuser目录,其中包含一个用于上传的特殊目录。它仅将上传权限设置到 /uploads 目录。; W# U6 \& Z( D6 E2 }8 c. C
4. 现在,您可以使用您创建的用户登录到您的 FTP 服务器:
) O* p* [& H: Mftp 192.168.01+ u' T, S+ a$ w; g T
将此 IP 地址替换为您系统中的 IP 地址。您可以使用该 命令在 Linux 中找到您的 IP 地址。ip addr$ m6 o* N( j0 P5 Z! z) t2 C
系统应提示您输入用户名 - 输入您之前创建的任何用户名。输入密码,系统应该让您登录。- s0 M/ l3 `" t, ~6 ~3 L; u
注意: phoenixNAP 知识库还提供以下使用 VSFTPD 的 FTP 服务器设置指南:
5 o4 Y4 ~$ x8 ?' [- ?• 如何使用 Vsftpd 在 Ubuntu 上安装 FTP 服务器
, \/ A: t* S1 ^ N% A• 如何在 Raspberry Pi 上设置 FTP 服务器
2 z" k, O/ M: b% r1 y5 G) o; _' G第 4 步:测试 FTP 服务器' `& M! u: x8 K; G
要在本地测试 FTP 服务器,请使用以下命令:
" n& d* g& ^& s# Q: h! i& eftp localhost+ O. F' I; I6 y2 o2 q, S# I
$ @. ]$ a. v: R, F5 g要远程测试,请使用以下命令:; z0 ~/ _5 l( O, L
ftp your.ftp.server.com
7 }+ n6 T2 u6 z* A$ i) E) P# ]5 A# R$ L
) S, n$ K+ D1 F* A# o+ s n! |注意:虽然本指南中包含了一些安全措施,但强烈建议您在生产环境中实施 FTP 服务器之前熟悉最新的安全协议。如果您正在创建一个对 Internet 开放的 FTP 服务器,这一点尤其重要——许多安全漏洞都源于 FTP 协议。) Y" r, ], v- f. W' }
结论" N0 y1 G& U" q- w4 B
现在您知道如何使用 VSFTPD 在 Centos 7 上设置和安装 FTP 服务器。您应该能够通过 FTP 登录到您的服务器并开始传输文件。
# s: o2 H% Y5 }- q/ ]. H4 V/ u' R O( E$ w0 \5 L- q
7 f N. t" D6 h B3 w" V* P0 whttps://phoenixnap.com/kb/how-to ... all-vsftpd-centos-7% W' B$ N! I6 W3 d% {# B2 _
|