如何使用 VSFTPD 在 CentOS 7 上安装 FTP 服务器* S0 p1 J% Y$ i6 J! q6 d
介绍
* O6 W: i0 M7 A) @如果您正在寻找安装 FTP 服务器,那么您将无法超越 VSFTPD 的简单性。
7 d, W( ~1 ]; p1 d6 ?FTP 代表文件传输协议。几十年来,它一直是在计算机之间传输文件的标准方法。
8 ?3 o6 k+ I2 J0 E$ t9 t M3 v虽然增加了安全措施,但 FTP 本质上是一种不安全的文件传输方法。但是,当文件可供多个用户使用时,或者在安全和专用网络中工作时,它会很有用。! r: H+ \) d9 e# h! E+ V
本指南将向您展示如何 在 CentOS 7 上使用 VSFTPD 配置和安装 FTP 服务器。& S6 V* n' [- U/ v$ u* A! m! @, C& ^
8 B# I0 {0 V/ b' k先决条件* ~8 q8 c; P% J: \ Y7 M& M0 }3 T
• 访问具有 sudo权限的用户帐户* f( h% n: L. s/ ^2 b$ H
• yum包管理器,默认安装
g. l8 J: |$ J5 G• 您选择的文本编辑器1 |* y5 e( r7 T2 V [5 O/ N
在 CentOS 7 上安装 FTP 服务器* W9 h1 C$ O# {
第 1 步:使用 VSFTPD 安装 FTP 服务 y; t- ?1 `9 F+ J
1.首先更新包管理器:" C% U- z! M7 s _
sudo yum update, C0 @0 G3 c7 u6 t
允许该过程完成。
' E6 L4 \# a0 y7 N% v本指南使用VSFTPD (VSFTPD 代表“非常安全的 FTP 守护程序软件包”)。这是一个用于创建FTP 服务器的相对简单的软件实用程序。. ^, F( J3 ^: u* n3 u. o8 v
2.使用以下命令安装VSFTPD软件:
9 L4 |, P9 y& a5 i) ysudo yum install vsftpd4 Q% X) w+ P- D2 w' h6 B$ X
出现提示时,键入Y以允许操作完成。" d( [$ q5 y: F. n% n
- V1 i. F& B* T
3.启动服务并将其设置为在系统启动时启动,如下所示:
& E) m7 X5 c0 p( {: asudo systemctl start vsftpd; S' a3 r' x" R' ^4 `
sudo systemctl enable vsftpd$ N. j3 r: G* \, e/ x* {! L
) [$ n9 \1 t! W; ]4. 接下来,为您的防火墙创建一个规则以允许端口 21 上的 FTP 流量:4 b. F1 u o& N
sudo firewall-cmd --zone=public --permanent --add-port=21/tcp- q- t4 b( \2 t" \% h" z
sudo firewall-cmd --zone=public --permanent --add-service=ftp
+ W5 M S$ ]0 N$ K0 ~( Isudo firewall-cmd –-reload, p/ k5 J; V! y& {0 {) Z) b# E
; Z& K: t! l1 ~+ K* D- k注意:如果您使用不同的防火墙应用程序,请参阅文档为端口 21 正确配置它。此外,一些 FTP 客户端使用端口 20,因此您可能希望也包括该规则。只需复制第一行,并将 21 替换为 20。" Q' \- h' X$ L
第 2 步:配置 VSFTPD
3 Y( B% M7 a' Y服务器上 FTP 服务的行为由/etc/vsftpd/vsftpd.conf配置文件决定。 l @1 q+ p' `0 K/ s! D. W% e
1.开始之前,创建一个默认配置文件的副本:
3 m) ?' n/ N6 p# o+ Y) g& xsudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.default# y+ z( L: N" i/ r4 W
这可确保您有办法返回到默认配置,以防您更改可能导致问题的设置。+ i8 C$ G/ \: l4 J7 H4 R2 d7 t8 W
2. 接下来,使用以下命令编辑配置文件:
9 j% l, e+ u( W$ Q: ?1 l6 H9 H# C0 asudo nano /etc/vsftpd/vsftpd.conf% P5 N) e5 d. A; j
3. 将您的 FTP 服务器设置为禁用匿名用户并允许本地用户。
k7 w5 e) }! ~# |6 d m" ^在配置文件中找到以下条目,并编辑它们以匹配以下内容:
1 ^, F, Y% q* Ganonymous_enable=NO
% G6 g( d) S# C6 Ilocal_enable=YES: G7 J, |( n: ]) r8 r) g5 n1 n& H" \
) h2 m l9 k( M5 S. t4 C
这是重要的一步。匿名访问是有风险的——除非您了解风险,否则您应该避免使用它。2 F2 z$ i# O+ Q! c6 f
4. 接下来,允许登录用户将文件上传到您的 FTP 服务器。& H' l2 D* Y, l6 C. _
找到以下条目,并编辑以匹配如下:
4 M8 u& x7 t# } R$ {- x7 N ywrite_enable=YES
. f, Y! Z% E: q9 s' i注意:默认情况下,此行以# 符号开头,表示它是注释。注释是打开和关闭命令的有用方法。# 符号也可以用来在文件中做注释,而不需要系统将它们解释为指令。
. M3 i. W. e' X' I9 b5. 限制 FTP 用户到他们自己的主目录。这通常称为jail 或chroot jail。查找并调整条目以匹配以下内容:6 K0 w+ ]' I7 D! m- V# G2 h# v
chroot_local_user=YES- C* k" j# B% d9 ]7 A4 c! B
allow_writeable_chroot=YES9 l0 n1 R* |! T+ q: L Y2 c
注意:出于测试目的,allow_writeable_chroot=YES选项将创建一个可运行的 FTP 服务器,您可以对其进行测试和使用。一些管理员提倡使用user_sub_token选项以获得更好的安全性。
1 m5 r# D3 r% V0 `# y0 p: `有关此选项的更多信息,请参阅vsftpd 文档。
9 }2 U, F0 I9 A6 `: [1 s6.vsftpd实用程序提供了一种创建批准用户列表的方法。要以这种方式管理用户,请找到该userlist_enable条目,然后将文件编辑为如下所示:
& N% o% E4 a% x6 ]userlist_enable=YES
9 W" B6 @6 W6 w9 G4 a7 z( \userlist_file=/etc/vsftpd/user_list
) z8 X O- X) `8 L" o! H; v7 Luserlist_deny=NO
' ?& g. ~- s* f您现在可以编辑/etc/vsftpd/user_list文件,并添加您的用户列表。(每行列出一个。)该userlist_deny选项允许您指定要包含的用户;将其设置为yes会将列表更改为被阻止的用户。
5 e1 _. z3 J" q3 B+ Q7. 完成编辑配置文件后,保存更改。重新启动vsftpd服务以应用更改:
5 B: t, @ I$ ^4 X! [5 R9 X4 j" _sudo systemctl restart vsftpd
3 @* z6 Y2 Q- Q% P& c( i1 i" i注意:通过访问文章如何使用 Linux ftp 命令了解有关 FTP 的更多信息。" C) W P8 g+ Q: R m* r: n2 Z
第 3 步:创建新的 FTP 用户
: m' n1 m0 R6 M. s1 `$ X* m1. 要创建新的 FTP 用户,请输入以下内容:! l+ D' ]. F, k/ y
sudo adduser testuser- i+ Y$ J+ j$ M! ~6 C$ u6 U
sudo passwd testuser
. g3 D6 V" M6 m# y" o8 b; {系统应提示您输入并确认新用户的密码。
% d& j3 o& z2 a1 i6 Z: _2. 将新用户添加到用户列表:
) ~2 h' d; T/ J+ Z) c4 C6 F# T9 Aecho “testuser” | sudo tee –a /etc/vsftpd/user_list% {+ m' x" i' ^$ X9 |$ G' r* o- }8 \
3.为新用户创建目录,并调整权限:. c! b; w" k/ z
sudo mkdir –p /home/testuser/ftp/upload
" W8 E$ O* I; h R3 G, Vsudo chmod 550 /home/testuser/ftp
# P2 N, G. n! g2 D Y% lsudo chmod 750 /home/testuser/ftp/upload
* ]! s* s3 o9 y, ~ msudo chown –R testuser: /home/testuser/ftp
1 i) y1 f1 ]+ e* D( M 1 y2 p5 ?; I# I6 k( E0 b" o( K
这将为新用户创建一个home/testuser目录,其中包含一个用于上传的特殊目录。它仅将上传权限设置到 /uploads 目录。
+ H4 w% h3 I: b4. 现在,您可以使用您创建的用户登录到您的 FTP 服务器:0 j% [& f0 D4 n+ k$ v R8 f }
ftp 192.168.01
( e( F6 J( o3 v0 O" x+ k将此 IP 地址替换为您系统中的 IP 地址。您可以使用该 命令在 Linux 中找到您的 IP 地址。ip addr. Q( u: ?5 Z0 L) t( y( h: d6 x
系统应提示您输入用户名 - 输入您之前创建的任何用户名。输入密码,系统应该让您登录。. v/ J- A$ P6 x' @5 _
注意: phoenixNAP 知识库还提供以下使用 VSFTPD 的 FTP 服务器设置指南:. c& q! m' q2 N' H% D
• 如何使用 Vsftpd 在 Ubuntu 上安装 FTP 服务器
- W) s# T% X: j* F• 如何在 Raspberry Pi 上设置 FTP 服务器; l: i9 e' ?( s
第 4 步:测试 FTP 服务器8 g5 h$ |& f' R* s
要在本地测试 FTP 服务器,请使用以下命令:
! ?7 f, m8 F, f f' wftp localhost
* ~: O- _( v3 Z( r9 C$ }/ f) O
& L4 ]8 r6 A& J8 ^. f要远程测试,请使用以下命令:
3 r. D- O0 p" v9 ?' ^+ \0 e4 dftp your.ftp.server.com C# [1 ~) a; Y/ q( h8 Y& N
9 ?5 o/ [6 K7 G0 M- p2 c
注意:虽然本指南中包含了一些安全措施,但强烈建议您在生产环境中实施 FTP 服务器之前熟悉最新的安全协议。如果您正在创建一个对 Internet 开放的 FTP 服务器,这一点尤其重要——许多安全漏洞都源于 FTP 协议。
8 M% V# H; A% w5 j3 S结论
2 ~ }- e3 V% l$ R/ x9 M' p现在您知道如何使用 VSFTPD 在 Centos 7 上设置和安装 FTP 服务器。您应该能够通过 FTP 登录到您的服务器并开始传输文件。
9 p/ Q$ s9 C- ?% ?
) |6 q& {% y m" E+ A
' S6 |( j& z) r2 @$ t& w6 mhttps://phoenixnap.com/kb/how-to ... all-vsftpd-centos-71 k% b. J1 d, V% g( J, z: N0 ?
|