如何使用 VSFTPD 在 CentOS 7 上安装 FTP 服务器
& j5 o- Q( c3 J6 `1 h J介绍
3 T0 L O% e1 R' [如果您正在寻找安装 FTP 服务器,那么您将无法超越 VSFTPD 的简单性。
: c/ A$ ]% E; n1 o' oFTP 代表文件传输协议。几十年来,它一直是在计算机之间传输文件的标准方法。
4 u. ]; A* b8 E# G* X虽然增加了安全措施,但 FTP 本质上是一种不安全的文件传输方法。但是,当文件可供多个用户使用时,或者在安全和专用网络中工作时,它会很有用。( @: m% V+ Y& {; A" S5 B
本指南将向您展示如何 在 CentOS 7 上使用 VSFTPD 配置和安装 FTP 服务器。/ v8 W' w8 f6 }/ a
2 l! W9 V: c4 i1 u- T3 W; c
先决条件
1 `2 y, U1 |' X& e/ D' n' x• 访问具有 sudo权限的用户帐户
* G3 L) \, t% F/ _% a1 X2 f: c• yum包管理器,默认安装
" Q/ }! |% @, \$ r1 f& j2 G- ]• 您选择的文本编辑器" a8 v N l- N
在 CentOS 7 上安装 FTP 服务器- ]2 D: C' t4 T9 r" G0 h
第 1 步:使用 VSFTPD 安装 FTP 服务, t- m. W4 Z/ E1 {
1.首先更新包管理器:! B/ |: _) h m. I& P5 M0 t4 i
sudo yum update( \. X$ r* m9 b; o' c$ c
允许该过程完成。
$ O% Y5 Z& |) L: A本指南使用VSFTPD (VSFTPD 代表“非常安全的 FTP 守护程序软件包”)。这是一个用于创建FTP 服务器的相对简单的软件实用程序。
+ ~# d, j' @9 l$ X5 a7 t% e. F2.使用以下命令安装VSFTPD软件:
% A( ?! q. [9 q. w( m4 ~9 Zsudo yum install vsftpd. O# y2 S- Z, e# \: L
出现提示时,键入Y以允许操作完成。
`# A5 \' N$ O; g$ W( F
& F' a; w8 x/ J3.启动服务并将其设置为在系统启动时启动,如下所示:
, n0 N4 |9 U; a4 I! [5 i1 wsudo systemctl start vsftpd
# n- M6 ~( d+ g0 _) c& u7 q/ Psudo systemctl enable vsftpd7 p- z; ` ?3 ] }+ N
" K; M# P; d3 X* k8 y U4. 接下来,为您的防火墙创建一个规则以允许端口 21 上的 FTP 流量:) m0 y, W# N. D5 G1 v5 R
sudo firewall-cmd --zone=public --permanent --add-port=21/tcp4 q- z: i) I |+ O9 p% \
sudo firewall-cmd --zone=public --permanent --add-service=ftp
) O" b+ ]! L4 T$ y1 J: Esudo firewall-cmd –-reload! m, k; A" s8 O8 `; f
9 h7 \9 A' `9 ?3 P注意:如果您使用不同的防火墙应用程序,请参阅文档为端口 21 正确配置它。此外,一些 FTP 客户端使用端口 20,因此您可能希望也包括该规则。只需复制第一行,并将 21 替换为 20。
0 e, `* `- i4 r第 2 步:配置 VSFTPD
* ~3 \9 L; P0 j服务器上 FTP 服务的行为由/etc/vsftpd/vsftpd.conf配置文件决定。 n% @' Q/ M' K
1.开始之前,创建一个默认配置文件的副本:
" V& x4 L& N; h- h1 Msudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.default( R4 ^& b+ J" D3 i. u! C: B2 o
这可确保您有办法返回到默认配置,以防您更改可能导致问题的设置。
) r, k6 _5 C8 [# T2. 接下来,使用以下命令编辑配置文件:" i i' a8 ^. V! F4 `
sudo nano /etc/vsftpd/vsftpd.conf- N- ]& a' r" q' e, @
3. 将您的 FTP 服务器设置为禁用匿名用户并允许本地用户。
$ K9 m0 d/ N) A. r1 g在配置文件中找到以下条目,并编辑它们以匹配以下内容:
" |2 |$ e7 z# Q! b6 f. d% _anonymous_enable=NO
) F3 U. m% C/ |$ x- A. f7 ?local_enable=YES9 Z9 f: p3 s% J! n
* U- H9 u+ b: N. j' d' ?1 n这是重要的一步。匿名访问是有风险的——除非您了解风险,否则您应该避免使用它。! [$ l# Q1 l! M7 K& k; X
4. 接下来,允许登录用户将文件上传到您的 FTP 服务器。% @9 w. W; b& O& b2 m. W6 L( a, n
找到以下条目,并编辑以匹配如下:
7 H) A' h" t: [% r" U, r$ r9 vwrite_enable=YES0 X$ V' g2 \1 S; b# I, W9 N
注意:默认情况下,此行以# 符号开头,表示它是注释。注释是打开和关闭命令的有用方法。# 符号也可以用来在文件中做注释,而不需要系统将它们解释为指令。
7 I7 Z' m6 Q$ | _$ G" K7 f* B5. 限制 FTP 用户到他们自己的主目录。这通常称为jail 或chroot jail。查找并调整条目以匹配以下内容:7 t2 \" p" Q, {8 o; k- E
chroot_local_user=YES
- s2 `3 x" w5 t# Jallow_writeable_chroot=YES
N5 [& I7 G: }1 M0 w) V, C0 g注意:出于测试目的,allow_writeable_chroot=YES选项将创建一个可运行的 FTP 服务器,您可以对其进行测试和使用。一些管理员提倡使用user_sub_token选项以获得更好的安全性。
% V1 c- q# D U; R' `; S有关此选项的更多信息,请参阅vsftpd 文档。9 J( Z; k. F" o0 u5 b7 O5 N' ~( A
6.vsftpd实用程序提供了一种创建批准用户列表的方法。要以这种方式管理用户,请找到该userlist_enable条目,然后将文件编辑为如下所示:9 o- t% S+ \4 T1 H( z1 [7 m$ O
userlist_enable=YES
# R" Q3 v5 R2 |; ?userlist_file=/etc/vsftpd/user_list
9 ~ P! j0 T# A* S" Luserlist_deny=NO N8 S" a# u4 B
您现在可以编辑/etc/vsftpd/user_list文件,并添加您的用户列表。(每行列出一个。)该userlist_deny选项允许您指定要包含的用户;将其设置为yes会将列表更改为被阻止的用户。* Q5 b. B3 Q: V2 F
7. 完成编辑配置文件后,保存更改。重新启动vsftpd服务以应用更改:6 R0 q8 e7 t! B- g2 B$ @
sudo systemctl restart vsftpd' v6 J: _- Q$ U
注意:通过访问文章如何使用 Linux ftp 命令了解有关 FTP 的更多信息。' r8 B( b, \! Y! B4 o! J: a5 @
第 3 步:创建新的 FTP 用户
7 o2 q; {7 R* j7 K6 o1. 要创建新的 FTP 用户,请输入以下内容:5 u" `4 M3 t; M- y# ^: K/ W" ^
sudo adduser testuser% G! E/ J; q5 K% d
sudo passwd testuser
% q, }# B# F r& O. r系统应提示您输入并确认新用户的密码。* M% ~2 i z) h
2. 将新用户添加到用户列表:
: A8 G1 d6 b9 w/ zecho “testuser” | sudo tee –a /etc/vsftpd/user_list% M' }4 _( A! }/ J3 X, {
3.为新用户创建目录,并调整权限:
; p' V3 s& ~# C% V& g+ I1 c7 rsudo mkdir –p /home/testuser/ftp/upload
' h2 D3 _& L% {sudo chmod 550 /home/testuser/ftp: r) Q3 _* ]! L
sudo chmod 750 /home/testuser/ftp/upload$ F: |9 }+ q; D) \ q
sudo chown –R testuser: /home/testuser/ftp
1 b( D# j% D6 ]. u
0 v/ e1 ^4 j$ [这将为新用户创建一个home/testuser目录,其中包含一个用于上传的特殊目录。它仅将上传权限设置到 /uploads 目录。/ E+ Y# r, j! {& E# m0 q
4. 现在,您可以使用您创建的用户登录到您的 FTP 服务器:) K! k* P6 j3 [- D4 [" ~
ftp 192.168.01
" |5 k3 B4 {( U将此 IP 地址替换为您系统中的 IP 地址。您可以使用该 命令在 Linux 中找到您的 IP 地址。ip addr
$ O1 k/ M8 D5 ~2 H& A% W系统应提示您输入用户名 - 输入您之前创建的任何用户名。输入密码,系统应该让您登录。
7 K: H- v* m) x, z9 ?! M注意: phoenixNAP 知识库还提供以下使用 VSFTPD 的 FTP 服务器设置指南:& d2 L. ]: J2 J
• 如何使用 Vsftpd 在 Ubuntu 上安装 FTP 服务器( T3 Z8 g6 W* T
• 如何在 Raspberry Pi 上设置 FTP 服务器# z1 r7 i% N# d S
第 4 步:测试 FTP 服务器
; e% @9 y3 q, Z* F6 H要在本地测试 FTP 服务器,请使用以下命令:4 ^6 v$ X/ f! H3 t; u+ W
ftp localhost! ]% D) d5 |) j$ B* S2 Z
@* c! h- U5 f) v$ _7 a: Z
要远程测试,请使用以下命令:$ ^5 _: [. |! W) M& d6 D1 H8 f
ftp your.ftp.server.com9 T$ \+ G6 ], w
( @8 m+ b5 I2 H. I/ s/ P
注意:虽然本指南中包含了一些安全措施,但强烈建议您在生产环境中实施 FTP 服务器之前熟悉最新的安全协议。如果您正在创建一个对 Internet 开放的 FTP 服务器,这一点尤其重要——许多安全漏洞都源于 FTP 协议。
- o7 f m; w. P4 [8 m结论
# a( u6 o1 t! i! h现在您知道如何使用 VSFTPD 在 Centos 7 上设置和安装 FTP 服务器。您应该能够通过 FTP 登录到您的服务器并开始传输文件。2 C4 P2 w' r7 G) h; U" c
! D/ x& u# U, r, b% l4 W
( I6 J1 D: D0 l3 l: x! a% Rhttps://phoenixnap.com/kb/how-to ... all-vsftpd-centos-7& R$ K( u1 c, X
|