Linux vsFTPd服务详解——vsFTPd基础知识

简介: Linux vsFTPd服务详解——vsFTPd基础知识

今天继续给大家介绍Linux运维相关内容,本文主要内容是Linux的vsFTPd服务。

一、vsFTPd服务简介与安装
FTP服务,即File Transfer Protocol、文件传输服务,用于在互联网上提供文件存储和访问服务。有关FTP的原理请参见以下文章:FTP协议详解。该文章写的很详细,在这里就不过多介绍乐。vsFTPd是基于GPL发布的类Unix系统上使用的FTP服务服务端软件,即very security FTP。vsFTPd也是基于FTP服务架构的软件,采用C/S模式,是一个安全高效稳定的服务器。
在安装vsFTPd时,如果采用yum的方式安装,可以执行命令:

yum install -y vsftpd lftp
1
其中,前面的vsftpd是FTP服务的服务端,lftp是FTP服务的客户端。

二、vsFTPd配置文件与启动
vsftpd在安装完成后,会自动生成以下配置文件:
/etc/vsfptd/vsftpd.conf:这是vsftpd的革新配置文件
/etc/vsfptd/ftpusers:该文件指定了FTP服务器的黑名单
/etc/vsfptd/user_list:该文件指定了FTP服务器的白名单
配置文件如下所示:

上图中最后一个vsftpd的脚本,是用于设置一些vsftpd的变量。
vsftpd启动命令如下:

systemctl start vsftpd
1
启动成功后,本地计算机会监听22端口,如下所示:

注意,有时候我们会发现启动后vsftpd服务监听的IPv6的22端口而不是IPv4的22端口,这需要我们在vsftpd的主配置文件中更改监听端口配置,vsftpd只能监听单IP协议栈的22端口,因此不可以同时监听IPv4和IPv6的22端口。修改时需要将配置文件中,listen参数改为YES,listen_IPv6改为NO。修改如下图所示:

三、vsFTPd简单实战
下面,我将采用一个简单的案例,来进行vsFTPd配置的简单实战,来使得匿名用户可以登录并访问我们的FTP服务器。
首先来介绍一下在vsFTPd中的三种用户:
1、匿名用户。 用户名为anonymous,密码为空。
2、本地用户。 即本地系统用户,/etc/passwd中设置的用户。
3、系统用户。 可以简单的将系统用户理解为虚拟用户,该用户不可登录系统。

为了使得匿名用户访问,我们在配置文件/etc/vsftpd/vsftpd.conf文件中添加下列内容:

anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
allow_writeable_chroot=YES
chroot_local_user=YES
1
2
3
4
5
6
之后还要关闭防火墙,同时给ftp目录首选。在默认情况下,vsftpd的默认上传下载目录是/var/ftp,但是在vsftpd安装完毕后,该目录的属主和属组都是root,在这种情况下,即使客户端能够成功登录ftp,但是由于权限的原因,不能进行写操作,因此,我们还需要对目录进行授权。但是,由于vsftpd的chroot保护机制,我们不可以给/var/ftp目录授予写权限,因此正确操作如下:

chown -R ftp:ftp /var/ftp
chmod a-w /var/ftp
1
2
完成上述操作后,重新启动vsftpd服务,另一端就可以链接上了,执行操作如下所示:

这样,我们就实现了vsftpd的基本匿名用户登录配置。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/121369606

目录
相关文章
|
4月前
|
Linux
在Linux中,怎么把脚本添加到系统服务里,即用 service 来调用?
在Linux中,怎么把脚本添加到系统服务里,即用 service 来调用?
|
1月前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
46 5
linux系统服务二!
|
1月前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
51 3
linux系统服务!!!
|
1月前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
288 3
|
1月前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
117 3
|
2月前
|
Ubuntu Linux 网络安全
Linux中服务管理问题
【10月更文挑战第4天】
30 2
|
2月前
|
应用服务中间件 Linux Shell
Linux 配置 Nginx 服务的详细步骤,绝对干货
Linux 配置 Nginx 服务的详细步骤,绝对干货
97 0
|
3月前
|
NoSQL Linux Redis
Linux Redis 服务设置开机自启动
【9月更文挑战第2天】在 Linux 系统中,可使用两种方法设置 Redis 开机自启动:一是通过创建 `redis.service` 文件并利用 systemd 进行管理,包括定义服务参数和启动脚本;二是编辑 `/etc/rc.local` 文件,在其中添加启动命令。推荐使用 systemd 方法,因为它更符合现代 Linux 系统的设计理念。设置完成后,可通过 `sudo systemctl status redis.service` 检查服务状态。
547 3
|
3月前
|
编解码 Linux 开发工具
Linux平台x86_64|aarch64架构RTMP推送|轻量级RTSP服务模块集成说明
支持x64_64架构、aarch64架构(需要glibc-2.21及以上版本的Linux系统, 需要libX11.so.6, 需要GLib–2.0, 需安装 libstdc++.so.6.0.21、GLIBCXX_3.4.21、 CXXABI_1.3.9)。
|
4月前
|
开发框架 .NET Linux
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?