如何使用 VSFTPD 在 CentOS 7 上安装 FTP 服务器+ f6 f+ [% y- F9 H, s9 f
介绍
+ C! u( N/ r G2 a$ g# V如果您正在寻找安装 FTP 服务器,那么您将无法超越 VSFTPD 的简单性。
/ \- S$ K7 n+ a9 m4 m1 NFTP 代表文件传输协议。几十年来,它一直是在计算机之间传输文件的标准方法。( }0 @2 A# \" \$ x* S
虽然增加了安全措施,但 FTP 本质上是一种不安全的文件传输方法。但是,当文件可供多个用户使用时,或者在安全和专用网络中工作时,它会很有用。
/ h( `) h# z8 }本指南将向您展示如何 在 CentOS 7 上使用 VSFTPD 配置和安装 FTP 服务器。$ Y, p& _1 P' _! Z. S& y
: N( g$ V$ R$ O+ k1 C3 e! y
先决条件
% w; d& o5 H$ o6 H X0 O, @• 访问具有 sudo权限的用户帐户$ N% m/ Y# b! x4 g. B
• yum包管理器,默认安装
Z! d6 q. ~% R) w0 v* D• 您选择的文本编辑器& c6 j* o! Q! P/ N: d1 m5 t
在 CentOS 7 上安装 FTP 服务器
$ U! W* h7 n( C9 E$ t- o* D) W第 1 步:使用 VSFTPD 安装 FTP 服务
% t- F4 O1 h/ H- ?6 `0 ~ n; b0 \1.首先更新包管理器:' `- @1 b) o1 c7 e0 O* @# p0 F; v
sudo yum update& ?4 k! B) N" A* N' m- z; N7 ]7 o; J2 A
允许该过程完成。
8 X% q0 a( t0 R* k! M+ e本指南使用VSFTPD (VSFTPD 代表“非常安全的 FTP 守护程序软件包”)。这是一个用于创建FTP 服务器的相对简单的软件实用程序。, Z* V& n: u4 T6 f. b+ m+ h
2.使用以下命令安装VSFTPD软件:
7 a" o- Q8 H i' Rsudo yum install vsftpd% o* ^/ v/ y1 s/ a+ w
出现提示时,键入Y以允许操作完成。2 C Z) Q5 x3 [# a$ ~: X- `
- h) N- m4 S C" ~9 M/ G$ P3.启动服务并将其设置为在系统启动时启动,如下所示:- N. ?; e: y$ j& s0 H0 o0 ?
sudo systemctl start vsftpd+ I& w, Q8 u3 `0 Z6 \. x
sudo systemctl enable vsftpd8 K) g* M3 p, B5 F( h
4 [& ^$ ?8 Z& m4 A
4. 接下来,为您的防火墙创建一个规则以允许端口 21 上的 FTP 流量:2 _" q; `: k+ H7 C
sudo firewall-cmd --zone=public --permanent --add-port=21/tcp
2 F) l( J4 ]! Asudo firewall-cmd --zone=public --permanent --add-service=ftp
2 [* F) q1 @8 k9 W, vsudo firewall-cmd –-reload
& E$ Y$ r; K% A3 M p3 i ' d( g3 `3 P8 K( Q
注意:如果您使用不同的防火墙应用程序,请参阅文档为端口 21 正确配置它。此外,一些 FTP 客户端使用端口 20,因此您可能希望也包括该规则。只需复制第一行,并将 21 替换为 20。
) O& Z8 R2 Q5 D' I4 t8 W第 2 步:配置 VSFTPD1 N/ j3 T! M y% Q
服务器上 FTP 服务的行为由/etc/vsftpd/vsftpd.conf配置文件决定。0 T+ q7 w7 b5 a# ^& y* l
1.开始之前,创建一个默认配置文件的副本:. E9 q0 \! |. W. I( u
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.default
) {+ \; W) R5 N! i) G这可确保您有办法返回到默认配置,以防您更改可能导致问题的设置。 n! q# D5 a& w/ ?: ^/ C% n
2. 接下来,使用以下命令编辑配置文件:6 t" b* x1 P8 S0 w% K
sudo nano /etc/vsftpd/vsftpd.conf
# w7 c& T( l+ O8 L# n6 p" z/ K3. 将您的 FTP 服务器设置为禁用匿名用户并允许本地用户。
! u& Q( F* i! H5 \/ N! g在配置文件中找到以下条目,并编辑它们以匹配以下内容:) |- k5 G# A W/ X( k5 D! I7 ?
anonymous_enable=NO* S( T6 G$ D% G( f7 @
local_enable=YES& ?' T0 ]$ d8 K
# c3 R9 a7 ~- w* }& `& ^- }
这是重要的一步。匿名访问是有风险的——除非您了解风险,否则您应该避免使用它。
$ W8 m9 o* c! r4 y: k+ j4. 接下来,允许登录用户将文件上传到您的 FTP 服务器。
2 t1 K0 j3 ?2 e9 j% [3 e找到以下条目,并编辑以匹配如下:* o6 X, L: t) S9 ?2 o
write_enable=YES
4 k0 I3 ^' X) c$ ?注意:默认情况下,此行以# 符号开头,表示它是注释。注释是打开和关闭命令的有用方法。# 符号也可以用来在文件中做注释,而不需要系统将它们解释为指令。" C$ L( ?& m0 ~3 H! |' r
5. 限制 FTP 用户到他们自己的主目录。这通常称为jail 或chroot jail。查找并调整条目以匹配以下内容:( J( e6 v A! ^& K3 V
chroot_local_user=YES
( J4 c8 n7 k1 s- b% Q# aallow_writeable_chroot=YES- B8 {& Y' e/ p! e( Y% e
注意:出于测试目的,allow_writeable_chroot=YES选项将创建一个可运行的 FTP 服务器,您可以对其进行测试和使用。一些管理员提倡使用user_sub_token选项以获得更好的安全性。& S% z8 v" \& x# d8 M: J9 @
有关此选项的更多信息,请参阅vsftpd 文档。 _, F2 ]3 N( [4 a* P
6.vsftpd实用程序提供了一种创建批准用户列表的方法。要以这种方式管理用户,请找到该userlist_enable条目,然后将文件编辑为如下所示:* j4 G1 @4 u: S3 G: N' M
userlist_enable=YES' a0 _) m! p: e
userlist_file=/etc/vsftpd/user_list6 R) L6 S; I: J7 a' Y r
userlist_deny=NO) [+ t) }- e8 D4 Q0 j% _
您现在可以编辑/etc/vsftpd/user_list文件,并添加您的用户列表。(每行列出一个。)该userlist_deny选项允许您指定要包含的用户;将其设置为yes会将列表更改为被阻止的用户。; Z- j$ L" Z: Z# R: Y9 Y
7. 完成编辑配置文件后,保存更改。重新启动vsftpd服务以应用更改:
; k3 j4 W. f) q! f/ Y3 W' `; ^9 Z5 E* Csudo systemctl restart vsftpd+ _1 K5 _, k) l! K5 m7 S
注意:通过访问文章如何使用 Linux ftp 命令了解有关 FTP 的更多信息。
& h* w) |. _% O第 3 步:创建新的 FTP 用户9 f1 t; L5 t" I8 L* h
1. 要创建新的 FTP 用户,请输入以下内容:8 [3 j* L" ^( H9 b
sudo adduser testuser/ m, d& ^- K2 C, O& z/ o
sudo passwd testuser
1 y; z7 U, L; J系统应提示您输入并确认新用户的密码。: J% y9 w/ j k" `, O/ z
2. 将新用户添加到用户列表:, l& ?6 N4 ~% |
echo “testuser” | sudo tee –a /etc/vsftpd/user_list
& m( ^6 W+ D4 h' V7 h3 n3.为新用户创建目录,并调整权限:
7 t3 R: _1 l3 ?7 qsudo mkdir –p /home/testuser/ftp/upload
1 G; ^6 S* ` ~. O* O/ |* tsudo chmod 550 /home/testuser/ftp% W- G9 r( X8 @" |% n9 H. a
sudo chmod 750 /home/testuser/ftp/upload
8 {' M% z$ }+ a8 _3 dsudo chown –R testuser: /home/testuser/ftp9 Z% I; s0 S5 n% V* R$ k% @
5 e2 \) x( U, i& j; X n* m P9 ]这将为新用户创建一个home/testuser目录,其中包含一个用于上传的特殊目录。它仅将上传权限设置到 /uploads 目录。0 P/ y4 U8 Z- `4 u. q4 {. c
4. 现在,您可以使用您创建的用户登录到您的 FTP 服务器:! b3 ~ Q1 ^" n" z7 D8 E+ R0 C
ftp 192.168.013 c. e, j* e2 h' b2 \5 D
将此 IP 地址替换为您系统中的 IP 地址。您可以使用该 命令在 Linux 中找到您的 IP 地址。ip addr/ o3 [- p2 `& M% {" l/ L7 `
系统应提示您输入用户名 - 输入您之前创建的任何用户名。输入密码,系统应该让您登录。
% Z$ Y7 |2 A6 v, O: T- D- ^) w注意: phoenixNAP 知识库还提供以下使用 VSFTPD 的 FTP 服务器设置指南:2 v# o ]$ J3 r
• 如何使用 Vsftpd 在 Ubuntu 上安装 FTP 服务器
7 d+ H ~ B i. J- n1 ~' E0 }* Q• 如何在 Raspberry Pi 上设置 FTP 服务器0 H/ K$ y) t+ K3 U: ^, B5 m
第 4 步:测试 FTP 服务器; \) Y2 S! \0 {
要在本地测试 FTP 服务器,请使用以下命令:
4 c: \# L) v2 \# lftp localhost9 A4 l$ \& K2 P w3 E' P
! f8 s, o& G1 X# V3 V& O要远程测试,请使用以下命令:
; V) a% k D1 F! e. @ftp your.ftp.server.com
" x. E! h- V# W " `1 N9 T$ ]& V$ q
注意:虽然本指南中包含了一些安全措施,但强烈建议您在生产环境中实施 FTP 服务器之前熟悉最新的安全协议。如果您正在创建一个对 Internet 开放的 FTP 服务器,这一点尤其重要——许多安全漏洞都源于 FTP 协议。- H& Y& \$ o. ~" S* a: A
结论) R- z: P# X7 l. Y! ~
现在您知道如何使用 VSFTPD 在 Centos 7 上设置和安装 FTP 服务器。您应该能够通过 FTP 登录到您的服务器并开始传输文件。
* K9 Q) W, c" i9 i3 T1 X/ t5 k0 s! N& U% O3 T/ I+ b* _8 L) k
7 @0 E- e. O O; m+ _https://phoenixnap.com/kb/how-to ... all-vsftpd-centos-74 u) T) G2 G- b0 ]$ q; a0 n
|