LINUX系统配置FTP服务器教程

导读:本篇文章讲解 LINUX系统配置FTP服务器教程,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

首先,我们要安装搭建好一个linux服务器。

然后是将该服务器配置成FTP服务器。

具体操作如下:

1.检查是否安装vsftpd

rpm -qa | grep vsftpd

LINUX系统配置FTP服务器教程

其实这一步也没啥乱用,就看一下,rpm命令是否可以使用,vsftpd的版本号而已。 

2.安装 vsftpd

yum -y install vsftpd

报错了:

错误:运行此命令需要管理员特权(多数系统下是root用户)。

 原因是我的这个账号不是管理员,那我们 修改命令再操作:
 

sudo yum -y install vsftpd

LINUX系统配置FTP服务器教程

 命令!!的意思就是重复上一条执行的命令,所以我的  sudo !! 的下面显示的就是我们真正要执行的命令。输入密码之后自动安装。

命令解释:

yum:在线安装,所以你的电脑必须联网;

-y:一路yes,避免询问;

install:安装的命令

vsftpd:是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。

3、关闭匿名访问

关闭匿名访问后,想访问里面的文件就需要账号和密码;如果不关,就可以直接访问。所以,这一步是可选操作。

vim /etc/vsftpd/vsftpd.conf

如果提示是只读文件,那么你只需要输入命令:

sudo  vim /etc/vsftpd/vsftpd.conf

打开之后的页面显示如下:

# Example config file /etc/vsftpd/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd’s
# capabilities.
#
# Allow anonymous FTP? (Beware – allowed by default if you comment this out).
anonymous_enable=NO
#
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd’s)
local_umask=022
#
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
# When SELinux is enforcing check for SE bool allow_ftpd_anon_write, allow_ftpd_full_access
#anon_upload_enable=YES
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
#anon_mkdir_write_enable=YES
#
# Activate directory messages – messages given to remote users when they
# go into a certain directory.
dirmessage_enable=YES
#
# Activate logging of uploads/downloads.
xferlog_enable=YES
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES
#
# If you want, you can arrange for uploaded anonymous files to be owned by
# a different user. Note! Using “root” for uploaded files is not
# recommended!
#chown_uploads=YES
#chown_username=whoever
#
# You may override where the log file goes if you like. The default is shown
# below.
#xferlog_file=/var/log/xferlog
#
# If you want, you can have your log file in standard ftpd xferlog format.
# Note that the default log file location is /var/log/xferlog in this case.
xferlog_std_format=YES
#
# You may change the default value for timing out an idle session.
#idle_session_timeout=600

关闭匿名访问就是将:anonymous_enable=NO

我们输入  i ,然后找到这个对应的字段,修改为NO即可。然后输入  ESC,再输入  :wq! 最后回车即可。  

我这里的默认就是anonymous_enable=NO,我们不做修改。如果你的这个文件的这个字段的取值是YES,同时你想禁止匿名访问,把它该成NO即可。

当然还有其他的配置可以修改,我们这里就先修改匿名访问的配置。

3、启动服务

systemctl start vsftpd.service

4、查看服务状态

启动之后我们可以查看服务的状态,看看启动是否成功:

systemctl status vsftpd.service

LINUX系统配置FTP服务器教程

 我们看到绿色的  active(running),代表着启动成功正在运行中。

我们按  q 或者Ctrl + c 退出这个显示页面,回到命令行。

5、开放访问端口

启动成功之后我们可以在服务器上访问了,但是如果我们要在电脑上访问的话还是不行的,因为这个存在防火墙的问题,此时就需要打开相应端口的防火墙了。

# 开启21端口访问权
firewall-cmd --zone=public --add-port=21/tcp --permanent
#开启1025-65535端口访问权
firewall-cmd --zone=public --add-port=1025-65535/tcp --permanent
# 重启防火墙
systemctl restart firewalld

切记:最后一个命令的  firewall后面有个d,不然会报错:

Failed to restart firewall.service: Unit firewall.service not found.

 此时我们可以通电脑去查看对应FTP服务器的情况了,在电脑上输入:

ftp://192.168.xx.xx

上面是你的服务器的ip,然后显示页面如下:

 LINUX系统配置FTP服务器教程

 输入用户名密码并保存密码,登陆之后的页面如下:

LINUX系统配置FTP服务器教程

上图中的file目录是我自己之前在服务器上创建的,其他的都是服务器安装时生成的目录。 

6、新增用户

我们可以创建一个用户用于FTP操作,因为在Linux上,root用户是不能登陆FTP的。如果你输入的是root用户,登陆会失败的。

adduser fangdake01

上面是创建的用户名:fangdake01

给fangdake01设置密码:

passwd fangdake01

输入两次密码就ok了。

至此为止我们的FTP服务器搭建完了,怎么验证呢?我们把一个文件拖到ftp的某一个地方,比如:

LINUX系统配置FTP服务器教程

 然后我们去服务器上看看:

LINUX系统配置FTP服务器教程

 文件确实上传上去了,同时所在的目录也是正确的。

至此,我们的FTP服务器搭建完毕。

我们还可以通过ftp连接工具去打开,我们这里使用Xftp 7连接:

LINUX系统配置FTP服务器教程

 LINUX系统配置FTP服务器教程

fangdake01是我们刚才创建的用户,登陆之后发现在该用户自己的目录下,什么都没有,因为这个是我们刚创建一个普通用户而已。如果我们使用fangdake来登陆的话,发现就不一样了。我们可以访问对应的目录,比如以临时目录文件来说:

LINUX系统配置FTP服务器教程

 至此,说明通过ftp连接工具也是可以正常访问我们的ftp服务器了。那么我么的FTP服务器就搭建好了。

服务器搭建好之后,默认不是开机自动启动的,我们需要设置开机启动。网上找了不少方法,有不少都不行,可能与我的虚拟机版本有问题,我的是CentOS 8 Stream版本的。

最终可行的方法是:

chkconfig vsftpd on

 但是这个命令好像被废弃了,直接转发到其他命令上了。

[fangdake@CentOS-8-FTP file]$ chkconfig vsftpd on
注意:正在将请求转发到“systemctl enable vsftpd.service”。
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-unit-files ====
Authentication is required to manage system service or unit files.
Authenticating as: fangdake
Password: 
==== AUTHENTICATION COMPLETE ====
Created symlink /etc/systemd/system/multi-user.target.wants/vsftpd.service → /usr/lib/systemd/system/vsftpd.service.
==== AUTHENTICATING FOR org.freedesktop.systemd1.reload-daemon ====
Authentication is required to reload the systemd state.
Authenticating as: fangdake
Password: 
==== AUTHENTICATION COMPLETE ====
 

 也就是说将命令转发到了“systemctl enable vsftpd.service”上面。我们输入密码即可。或者Ctrl + c退出,然后使用命令:

systemctl enable vsftpd.service

然后输入两次密码即可。 

最后,需要说明的是:

1.原始的服务器的网络适配器必须是桥接模式;

2.必须联网,因为要联网安装。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/2714.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!