CentOS 7搭建 ftp 服务器

avatar
作者
筋斗云
阅读量:1

一、实验环境

一台Linux客户端、一台Linux服务器、一台Windows客户端

二、实验内容

1、创建一个ftp服务器,提供文件下载和上传功能。 2、提供匿名登录功能,用户能够上传文件,但不能删除文件。 3、创建用户登录ftp服务,允许用户任意写操作。 4、ftp黑白名单。 

三、实验步骤

1.软件安装

Linux系统中,是vsftpd提供的ftp的服务(没有依赖包,看直接使用yum安装,也可光盘安装)。

[root@localhost /]# yum install vsftpd -y  

查询是否成功安装FTP服务。

[root@localhost ~]# rpm -q vsftpd  vsftpd-3.0.2-22.el7.x86_64 

FTP默认配置文件目录

etc/vsftpd/vsftpd.conf      ftp服务器的配置文件 /etc/pam.d/vsftpd /etc/vsftpd/ftpusers  禁止登录用户名单,默认root不能登录 /etc/vsftpd/user_list 可以通过设置只有这个名单里的用户可以登录,如果同一用户同时出现在ftpusers和user_listname该用户也是被禁止登录,取最高权限 /var/ftp            ftp的根目录,默认登陆位置 /var/ftp/pub  

实验内容 1 :创建一个 f t p 服务器,提供文件下载和上传功能。 实验内容1:创建一个ftp服务器,提供文件下载和上传功能。 实验内容1:创建一个ftp服务器,提供文件下载和上传功能。

1、编辑etc/vsftpd/vsftpd.comf配置文件。确认以下状态为YES。

anonymous_enable=YES #开启匿名用户访问,默认已开启。 write_enable=YES #开放服务器的写权限(若要上传必须开启)。默认已开启。 anon_upload_enable=YES #允许匿名用户上传文件,默认是注释的,需要取消注释 。 anon_mkdir_write_enable=YES #允许匿名用户创建(上传)目录,默认是注释的,需要取消注释。 

2、防火墙放行FTP服务

[root@localhost ~]# firewall-cmd --add-service=ftp --permanent  success [root@localhost ~]# firewall-cmd --reload  success 

3、关闭selinux

临时关闭selinux,如未关闭可能导致服务访问不成功。

[root@localhost ~]# setenforce 0 [root@localhost ~]# getenforce  Permissive 

在/etc/selinux/config 文件下永久性关闭selinux

4、启动FTP服务

[root@localhost ~]# systemctl start vsftpd   //启动服务器 [root@localhost ~]# systemctl enable vsftpd   //开机自启服务 Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service. [root@localhost ~]# systemctl status vsftpd  //查看服务器状态 ● vsftpd.service - Vsftpd ftp daemon    Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)    Active: active (running) since 三 2022-11-16 22:08:50 EST; 1min 43s ago  Main PID: 51249 (vsftpd)    CGroup: /system.slice/vsftpd.service            └─51249 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf  11月 16 22:08:50 localhost.localdomain systemd[1]: Starting Vsftpd ftp daemon... 11月 16 22:08:50 localhost.localdomain systemd[1]: Started Vsftpd ftp daemon. 

5、Linux客户端测试服务,安装客户端工具


在这里插入图片描述

测试服务

[root@localhost ~]# ftp 192.168.137.128  //连接服务 Connected to 192.168.137.128 (192.168.137.128). 220 (vsFTPd 3.0.2) Name (192.168.137.128:root): anonymous //输入匿名用户 331 Please specify the password. Password: //无密码 回车 230 Login successful. //登录成功 Remote system type is UNIX. Using binary mode to transfer files. ftp> ls 227 Entering Passive Mode (192,168,137,128,214,191). 150 Here comes the directory listing. drwxr-xr-x    2 0        0               6 Aug 03  2017 pub 226 Directory send OK. ftp> bye 221 Goodbye.  

6、Windows客户端测试服务

匿名用户可以在/var/ftp/pub目录上传文件和创建目录


在这里插入图片描述

实验内容 2 :提供匿名登录功能,用户能够上传文件,但不能删除文件。 实验内容2:提供匿名登录功能,用户能够上传文件,但不能删除文件。 实验内容2:提供匿名登录功能,用户能够上传文件,但不能删除文件。

匿名用户主目录创建测试文件

root@localhost ~]# cd /var/ftp/ [root@localhost ftp]# touch pub/1.txt 

修改配置文件,设置用户匿名用户权限。
在这里插入图片描述

重启FTP服务

[root@localhost ~]# systemctl restart vsftpd  

Windows客户端测试服务
在这里插入图片描述
实验内容 3 :创建用户登录 f t p 服务,允许用户任意写操作。 实验内容3:创建用户登录ftp服务,允许用户任意写操作。 实验内容3:创建用户登录ftp服务,允许用户任意写操作。

编辑配置文件。将anonymous_enable=YES改为NO。即可使用用户账户登录。

在这里插入图片描述

设置访问账户与密码。

[root@localhost /]# useradd gd1 [root@localhost /]# passwd gd1 更改用户 gd1 的密码 。 新的 密码: 无效的密码: 密码未通过字典检查 - 它基于字典单词 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。 

重启服务

[root@localhost ~]# systemctl restart vsftpd  

Linux客户端测试,使用用户登录。(测试成功)

[root@localhost /]# ftp 192.168.137.128 Connected to 192.168.137.128 (192.168.137.128). 220 (vsFTPd 3.0.2) Name (192.168.137.128:root): gd1 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> pwd 257 "/home/gd1" ftp> mkdir 1.txt 257 "/home/gd1/1.txt" created 

Windows客户端测试
在这里插入图片描述
在这里插入图片描述

实验内容 4 : F T P 黑白名单 实验内容4:FTP黑白名单 实验内容4FTP黑白名单

创建用户在这里插入图片描述

编辑/etc/vsftpd/vsftpd.conf配置文件

文件末尾添加,命令说明:仅允许文件中的用户登录服务(反之如果开启此参数,那么就不能使用文件中的用户进行登录)
在这里插入图片描述

编辑用户名单文件,加入gd1用户。

在这里插入图片描述

重启服务

[root@localhost ~]# systemctl restart vsftpd  

Linux客户端测试

使用文件中已有的用户登录测试,成功登录

在这里插入图片描述

使用文件中未出现的用户登录测试,登录失败

在这里插入图片描述

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!