Linux vsFTPd服务详解——本地用户登录实战

简介: Linux vsFTPd服务详解——本地用户登录实战

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

一、实战背景
在上文Linux vsFTPd服务详解——vsFTPd基础知识中,给大家简单介绍了vsFTPd服务的基本原理,基本配置和匿名登录的实现。然而,在实际部署时,由于匿名用户登录风险性太大,我们一般都会拒绝匿名用户登录,以提升FTP服务器的安全性。下面,我就给大家介绍一下vsFTPd服务中系统用户的配置方式。

二、实现步骤
FTP进行本地用户登录的配置需要以下5步:
1、建立登录用户
首先,我们需要建立FTP的登录用户,使用useradd命令创建一个用户,并使用passwd命令为该用户创建密码,命令操作如下所示:

useradd ftpuser
passwd ftpuser
1
2
2、修改配置文件
然后,我们需要修改vsFTPd服务的配置文件,禁止匿名用户登录,并且对本地用户登录进行一些必要的设置。
首先,为了禁止匿名用户登录,我们将配置文件中的anonymous_enable设置为NO。接下来,我们需要在配置文件中添加如下内容:

local_root=/var/share
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES
1
2
3
4
5
上面部分内容是配置文件中原本就有的,只不过被注释掉了,我们只需要删除前面的#,使得该行内容发挥作用即可。上述第一行表示指定FTP的目标文件夹,可以自行修改为指定的目录,第二行表示允许本地用户登录,第三行表示启动本地用户访问控制列表,并且在第四行指定了该列表文件所在位置。在配置了这两行内容后,就只有在列表上的用户才能够访问FAP服务了,最后一行表示允许本地用户对FTP目录进行写操作。
修改后的配置文件如下所示:

3、添加允许登录用户列表
既然我们已经设置了允许用户登录的列表,接下来我们需要创建该列表文件,并且添加我们刚刚创建的ftpuser用户。创建文件/etc/vsftpd/chroot_list,然后在该文件中写入ftpuser即可,如果我们想要使得多个本地用户可以登录访问,则需要另起一行写入其他的用户。
4、修改本地权限
到这一步,虽然FTP的服务已经配置完毕,但是我们还需要修改指定目录的权限,由于vsFTPd服务的本地用户是ftpuser,因此我们还得保证该目录中FTP用户必须有写的权限,本地权限修改方式举例如下:

chown ftpuser:ftpuser /var/share/
1
当然,也可以通过chmod或者文件访问控制列表setfacl的方式达到同样的效果。
5、重启服务
在完成上述所有配置后,就需要重启vsFTPd服务了,重启命令如下:

systemctl restart vsftpd
1
三、效果验证
在完成上述操作后,我们尝试使用刚刚我们创建的用户登录FTP服务器,发现效果如下所示:

可以看出,我们可以使用本地用户登录FTP服务器。
接下来,我们再尝试使用匿名用户登录FTP服务器,结果如下:

可以看出,虽然表面上我们已经成功登录了FTP服务器,但是其实此时我们不能对FTP服务器进行操作,实际上,如果我们使用windows平台尝试登录FTP服务器,则会直接拒绝,这说明我们没有能够登录FTP服务器。因此,实验成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

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

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

目录
相关文章
|
15天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
39 6
|
10天前
|
存储 关系型数据库 MySQL
Linux服务详解
Linux服务详解
25 0
|
11天前
|
网络协议 Ubuntu Linux
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
|
12天前
|
网络协议 安全 Linux
配置vsftpd服务
FTP是TCP/IP协议族中的应用层协议,用于可靠地传输文件,基于C/S架构,使用20(数据)和21(命令)端口。有两种传输模式:主动模式,客户端告知服务器数据端口,服务器发起连接;被动模式,服务器响应客户端的PASV命令,客户端建立数据连接。安装Linux的vsftpd服务涉及`yum install vsftpd`,创建用户,重启服务并设置开机启动。配置文件`vsftpd.conf`可调整访问权限和行为。通过FTP命令如`help`,`get`,`put`进行文件操作。匿名用户模式可允许无密码访问,需修改配置文件开启。
16 0
|
19天前
|
监控 Java Linux
linux下监控java进程 实现自动重启服务
linux下监控java进程 实现自动重启服务
|
22天前
|
关系型数据库 MySQL Linux
linux特定服务日志
Linux系统的服务日志在`/var/log`目录下,如系统日志(`/var/log/syslog`或`/var/log/messages`)、认证日志(`/var/log/auth.log`)、SSH日志(`/var/log/auth.log`或`/var/log/secure`)。Web服务器(Apache和Nginx)的访问和错误日志、MySQL错误日志、Postfix及Dovecot邮件服务器日志也在此处。日志位置可能因发行版和服务配置而异,不确定时可查服务配置或用`grep`搜索。使用`logrotate`可管理日志文件大小。
22 6
|
29天前
|
Linux
linux中服务管理
在Linux服务管理中,从传统的System V init到Upstart,再到广泛采用的systemd,管理方式不断发展。systemd以其强大的功能和依赖解决成为现代Linux的核心。`systemctl`是管理服务的关键命令,如启动(`start`)、停止(`stop`)、重启(`restart`)服务及设置开机启动(`enable`)或取消(`disable`)。了解和服务管理,特别是systemd和`systemctl`的使用,对系统管理员至关重要。其他如xinetd用于控制网络服务,而特定环境下有OpenRC等工具。
17 2
|
1月前
|
存储 安全 Shell
【Shell 命令集合 系统管理 】Linux 用户登录系统 login命令 使用指南
【Shell 命令集合 系统管理 】Linux 用户登录系统 login命令 使用指南
48 0
|
1月前
|
Shell Linux C语言
【Shell 命令集合 系统设置 】Linux 管理系统服务 ntsysv命令 使用指南
【Shell 命令集合 系统设置 】Linux 管理系统服务 ntsysv命令 使用指南
28 0
|
Linux
linux vsftpd 配置 常用
anonymous_enable=NO local_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog...
900 0