如何使用 VSFTPD 在 CentOS 7 上安装 FTP 服务器
1 W& K7 @* @! t2 I, I: @+ M介绍
& d K6 C. u8 \如果您正在寻找安装 FTP 服务器,那么您将无法超越 VSFTPD 的简单性。
/ ^$ W% o. I( N$ f D6 [+ @* D [FTP 代表文件传输协议。几十年来,它一直是在计算机之间传输文件的标准方法。7 t4 @ P8 ~3 g# R1 X: @
虽然增加了安全措施,但 FTP 本质上是一种不安全的文件传输方法。但是,当文件可供多个用户使用时,或者在安全和专用网络中工作时,它会很有用。 \9 O0 O. a1 x9 M L: `1 I
本指南将向您展示如何 在 CentOS 7 上使用 VSFTPD 配置和安装 FTP 服务器。& a. b6 j; j' y1 [6 U. t
; q! \ Z- H# |0 m; X8 U! T V2 Y先决条件! z4 K# J' e1 w8 w8 r
• 访问具有 sudo权限的用户帐户
0 u9 A2 I8 t) ]1 z* D• yum包管理器,默认安装; H* w: N3 S9 a6 f
• 您选择的文本编辑器
5 ~& t6 n: C3 J* l在 CentOS 7 上安装 FTP 服务器: V7 O: M- {: B) B
第 1 步:使用 VSFTPD 安装 FTP 服务3 \4 o8 | C. `# B
1.首先更新包管理器:
4 \3 R2 |, ~% J& y2 ^( ^" Tsudo yum update
+ {5 M [& \" Y6 a! S/ V/ M2 y允许该过程完成。
0 f# D8 t. U3 i9 V, W& w" w1 F1 ^本指南使用VSFTPD (VSFTPD 代表“非常安全的 FTP 守护程序软件包”)。这是一个用于创建FTP 服务器的相对简单的软件实用程序。
e5 H# @8 v# i6 a! |3 b2.使用以下命令安装VSFTPD软件:9 h1 j8 `" F/ t6 q4 ?5 n5 a
sudo yum install vsftpd
# g* R* o; |* }5 h5 K" u出现提示时,键入Y以允许操作完成。/ [. q3 d- T* p+ s: |/ a: L
* a. K$ _! k# R) [8 S" W D m
3.启动服务并将其设置为在系统启动时启动,如下所示:4 i) @4 k% o9 R/ e5 E n: j3 D
sudo systemctl start vsftpd+ L! ~' c, q& {; n. b% f
sudo systemctl enable vsftpd, R9 I* D, p2 h3 a
$ G& \0 U7 L! s R1 D
4. 接下来,为您的防火墙创建一个规则以允许端口 21 上的 FTP 流量:' F; `1 `# [, E' O9 {
sudo firewall-cmd --zone=public --permanent --add-port=21/tcp
" Y- {, ]- o( m/ ^5 `: T' lsudo firewall-cmd --zone=public --permanent --add-service=ftp6 V4 ^+ W" f# j5 H- |+ I
sudo firewall-cmd –-reload/ M/ Z7 k! J% w$ S
; X# s6 k* y- c5 [# l& E5 P
注意:如果您使用不同的防火墙应用程序,请参阅文档为端口 21 正确配置它。此外,一些 FTP 客户端使用端口 20,因此您可能希望也包括该规则。只需复制第一行,并将 21 替换为 20。
) f9 M0 W) Z4 P& r v/ n1 _2 W: H第 2 步:配置 VSFTPD z$ q2 A& m. e Y
服务器上 FTP 服务的行为由/etc/vsftpd/vsftpd.conf配置文件决定。
& h" O& Q) z& G. l1.开始之前,创建一个默认配置文件的副本:
8 {4 J v5 s# @. u! r' x4 x' asudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.default
/ c6 Y( z+ \* T/ @这可确保您有办法返回到默认配置,以防您更改可能导致问题的设置。$ q' ]( Y7 H) [* z* A2 i
2. 接下来,使用以下命令编辑配置文件:* s0 e k1 i5 A% a( L
sudo nano /etc/vsftpd/vsftpd.conf
/ j8 R9 G- b! P3. 将您的 FTP 服务器设置为禁用匿名用户并允许本地用户。
& _" y- a* R ]7 X1 w, `在配置文件中找到以下条目,并编辑它们以匹配以下内容:6 f- u. J. g' ]$ n8 A: Y( Y1 v
anonymous_enable=NO; {' J8 R5 h1 q
local_enable=YES5 U5 D; @4 @% J, k
9 \0 z- h: _; n( C; T
这是重要的一步。匿名访问是有风险的——除非您了解风险,否则您应该避免使用它。
w( q2 u& k7 }; F) I4. 接下来,允许登录用户将文件上传到您的 FTP 服务器。
, L9 z5 q/ m1 o7 \0 C找到以下条目,并编辑以匹配如下:
" p, w4 [& A5 L/ U0 W" p+ a4 W3 Kwrite_enable=YES! ]2 l7 \5 `& n* H) \
注意:默认情况下,此行以# 符号开头,表示它是注释。注释是打开和关闭命令的有用方法。# 符号也可以用来在文件中做注释,而不需要系统将它们解释为指令。
. J* D+ H2 Q' t/ t( F! G5. 限制 FTP 用户到他们自己的主目录。这通常称为jail 或chroot jail。查找并调整条目以匹配以下内容:0 _4 u/ B* ?% {5 t# X+ Z3 |
chroot_local_user=YES b8 v/ P# K/ z
allow_writeable_chroot=YES
9 q" K$ [& N! U1 `, \6 p注意:出于测试目的,allow_writeable_chroot=YES选项将创建一个可运行的 FTP 服务器,您可以对其进行测试和使用。一些管理员提倡使用user_sub_token选项以获得更好的安全性。
' e9 N# I* [ R5 b0 F有关此选项的更多信息,请参阅vsftpd 文档。
0 e j; `4 X6 W6.vsftpd实用程序提供了一种创建批准用户列表的方法。要以这种方式管理用户,请找到该userlist_enable条目,然后将文件编辑为如下所示:/ e/ p+ ? ^; J$ h' D! _
userlist_enable=YES3 c6 \" m E7 g3 o3 t8 b4 p
userlist_file=/etc/vsftpd/user_list) p/ v3 U6 {; P9 ~* w" w& x
userlist_deny=NO' g' f/ c' z# q
您现在可以编辑/etc/vsftpd/user_list文件,并添加您的用户列表。(每行列出一个。)该userlist_deny选项允许您指定要包含的用户;将其设置为yes会将列表更改为被阻止的用户。$ V7 a( M' F0 V4 |. c: e
7. 完成编辑配置文件后,保存更改。重新启动vsftpd服务以应用更改:) d* A6 z/ H4 |1 j& P* b) [
sudo systemctl restart vsftpd# f" {& F# O5 G* Z& B8 p* G& l
注意:通过访问文章如何使用 Linux ftp 命令了解有关 FTP 的更多信息。4 y( Y, C1 U; z6 X( Q
第 3 步:创建新的 FTP 用户
# j- T3 }6 c0 r0 V& y1. 要创建新的 FTP 用户,请输入以下内容:
+ {; W5 `- E2 L7 @1 _ D1 _" ksudo adduser testuser
: z) w) b- L: {/ T" csudo passwd testuser5 G& C) l. c) M$ x
系统应提示您输入并确认新用户的密码。2 v7 `% z# M6 K* a0 l
2. 将新用户添加到用户列表:9 n, e2 K' O+ n5 L+ Y
echo “testuser” | sudo tee –a /etc/vsftpd/user_list
: h2 F, N1 q! v6 t- j! d: C3 _3.为新用户创建目录,并调整权限:3 e: \: U1 R# J% X6 r
sudo mkdir –p /home/testuser/ftp/upload
7 r+ {2 R: F8 ysudo chmod 550 /home/testuser/ftp) d+ T- `' s# i8 F) [
sudo chmod 750 /home/testuser/ftp/upload
8 h0 d; l: i/ |2 Y* X$ J$ k& Osudo chown –R testuser: /home/testuser/ftp: L2 @1 d2 {- Y# k% J8 i; h3 S
( n9 R- U$ \0 `: | Y5 z
这将为新用户创建一个home/testuser目录,其中包含一个用于上传的特殊目录。它仅将上传权限设置到 /uploads 目录。
% g8 S, V( P( O( d" B1 ^4. 现在,您可以使用您创建的用户登录到您的 FTP 服务器:/ ~. C& M$ g# d Z- V
ftp 192.168.01) d1 ]4 ^* `4 W4 o( I: D5 |% N9 w
将此 IP 地址替换为您系统中的 IP 地址。您可以使用该 命令在 Linux 中找到您的 IP 地址。ip addr
\) q3 S4 i9 d2 e3 Q, t& N7 [8 J系统应提示您输入用户名 - 输入您之前创建的任何用户名。输入密码,系统应该让您登录。0 m. O2 t6 f7 C1 z1 u
注意: phoenixNAP 知识库还提供以下使用 VSFTPD 的 FTP 服务器设置指南:8 i1 N. f& n" Y% g5 J
• 如何使用 Vsftpd 在 Ubuntu 上安装 FTP 服务器. y) h, W# F6 d! g7 y7 X# f1 v$ ~! V
• 如何在 Raspberry Pi 上设置 FTP 服务器9 O5 H" |5 k$ E
第 4 步:测试 FTP 服务器( d0 n4 S/ b! }: w$ q3 S0 I
要在本地测试 FTP 服务器,请使用以下命令:: w: B- e& d$ U. c* U
ftp localhost
. t5 U- t+ K: M* e# q+ a2 |
, x6 [7 S/ W2 m: E' P" y要远程测试,请使用以下命令:5 g' E0 P9 z" e% a/ Z( [
ftp your.ftp.server.com
6 ?2 y# U0 I5 i& a , t5 y5 v) Z# N
注意:虽然本指南中包含了一些安全措施,但强烈建议您在生产环境中实施 FTP 服务器之前熟悉最新的安全协议。如果您正在创建一个对 Internet 开放的 FTP 服务器,这一点尤其重要——许多安全漏洞都源于 FTP 协议。
- z, M" ^# M O! }结论
3 ]$ l5 c$ B4 d3 c8 L) b8 F现在您知道如何使用 VSFTPD 在 Centos 7 上设置和安装 FTP 服务器。您应该能够通过 FTP 登录到您的服务器并开始传输文件。
# g0 }5 e5 H+ ~, x) s- V& h6 S
4 o) k5 ^. z( g# y5 p. P: a" Q" ~
https://phoenixnap.com/kb/how-to ... all-vsftpd-centos-7. Y" a8 k1 t2 _; m/ t+ H
|