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

目录
相关文章
|
2月前
|
Linux
在Linux中,怎么把脚本添加到系统服务里,即用 service 来调用?
在Linux中,怎么把脚本添加到系统服务里,即用 service 来调用?
|
2天前
|
Ubuntu Linux 网络安全
Linux中服务管理问题
【10月更文挑战第4天】
8 2
|
5天前
|
应用服务中间件 Linux Shell
Linux 配置 Nginx 服务的详细步骤,绝对干货
Linux 配置 Nginx 服务的详细步骤,绝对干货
21 0
|
1月前
|
NoSQL Linux Redis
Linux Redis 服务设置开机自启动
【9月更文挑战第2天】在 Linux 系统中,可使用两种方法设置 Redis 开机自启动:一是通过创建 `redis.service` 文件并利用 systemd 进行管理,包括定义服务参数和启动脚本;二是编辑 `/etc/rc.local` 文件,在其中添加启动命令。推荐使用 systemd 方法,因为它更符合现代 Linux 系统的设计理念。设置完成后,可通过 `sudo systemctl status redis.service` 检查服务状态。
|
23天前
|
编解码 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)。
|
2月前
|
机器学习/深度学习 Ubuntu Linux
在Linux中,如何按照该要求抓包:只过滤出访问http服务的,目标ip为192.168.0.111,一共抓1000个包,并且保存到1.cap文件中?
在Linux中,如何按照该要求抓包:只过滤出访问http服务的,目标ip为192.168.0.111,一共抓1000个包,并且保存到1.cap文件中?
|
2月前
|
开发框架 .NET Linux
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?
|
2月前
|
安全 Linux 数据安全/隐私保护
在Linux中,使用rsync服务模式时,如果指定了⼀个密码文件,那么这个密码文件的权限应该设置成多少才可以?
在Linux中,使用rsync服务模式时,如果指定了⼀个密码文件,那么这个密码文件的权限应该设置成多少才可以?
|
2月前
|
应用服务中间件 Linux nginx
在Linux中,如何让某个服务(假如服务名为 nginx)只在3,5两个运⾏级别开启,其他级别关闭?
在Linux中,如何让某个服务(假如服务名为 nginx)只在3,5两个运⾏级别开启,其他级别关闭?
|
2月前
|
Linux
在Linux中,如何把系统中不用服务关掉?
在Linux中,如何把系统中不用服务关掉?