Advertisement

centos7安装FTP服务器

阅读量:

目录

实验背景

一、配置yum源

1、本地yum

2、阿里云yum

二、安装vsftpd

1、安装vsftp服务

2、启动服务并设置开机自启动

3、开放防火墙和SELinux

三、创建用户和FTP目录

1、创建文件目录并配置权限

2、创建ftp组以及用户

四、修改vsftpd.conf文件

1、备份 vsftpd.conf 配置文件

2、需要去除注释配置

3、添加配置文件

4、最终文件配置信息

5、创建 /etc/vsftpd/chroot_list 文件

五、启动FTP服务


实验背景

1.FTP服务器配置要求

企业内部现在有一台FTP服务器和Web服务器,FTP服务器主要用于维护企业的网站内容,包括上传文件、创建目录、更新网页等。企业现有两个部门负责维护任务,两者分别用team1和team2账号进行管理。要求仅允许team1和team2账号登录FTP服务器,但不能登录本地系统,并将这两个账号的根目录限制为/web/www/html,不能进入该目录以外的任何目录。

2. 需求分析

将FTP服务器和Web服务器放在一起是企业经常采用的方法,这样方便实现对网站的维护。为了增强安全性,首先需要仅允许本地用户访问,并禁止匿名用户登录。其次,使用chroot功能将team1和team2锁定在/web/www/html目录下。如果需要删除文件,则还需要注意本地权限。

本实验在centos7系统下完成实验

一、配置yum源

1、本地yum

local.repo的配置文件内容:

[centos]
name=centos
baseurl=file:///opt/centos/
gpgcheck=0
enable=1

2、阿里云yum

在保证能联外网的情况下,输入以下命令

复制代码
    wget -O /etc/yum.repos.d/Centos-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    
    bash

二、安装vsftpd

1、安装vsftp服务

复制代码
    yum -y install vsftpd
    
    bash

2、启动服务并设置开机自启动

复制代码
 systemctl start vsftpd    #启动vsftpd

    
 systemctl enable vsftpd.service    #设置开机自启动
    
    
    
    
    bash

3、开放防火墙和SELinux

降低潜在问题的发生,在完成搭建后即可重新启用firewall1服务以及相关端口;同时建议在安装完成后先禁用firewall1服务以确保安全。

复制代码
 systemctl stop firewalld.service    #关闭防火墙

    
 systemctl disable firewalld.service    #并设置开机自启
    
  
    
 #修改 /etc/selinux/config 将SELINUX=enforcing改为disabled
    
 vim /etc/selinux/config
    
 setenforce 0    #使修改后的配置文件生效
    
    
    
    
    bash

三、创建用户和FTP目录

这两个团队负责为该FTP服务创建用户,并将访问权限分别分配至/web/www/html目录下(进行权限控制)

1、创建文件目录并配置权限

复制代码
 mkdir -p /web/www/html  
    
 chmod -R 775 /web/www/html
    
    
    
    
    bash

2、创建ftp组以及用户

我们创建了用于测试的安全性实验中的team1和team2两个账户。为了确保系统的安全性,当然不想让这两个账户能够访问FTP相关的功能。则需为FTP组成员配置使用无法访问登录系统的shell环境,并采用/sbin/nologin命令来实现这一目标。具体来说:

  • g用于指定用户的所属群组。
    -g选项用于指定用户的所属群组。
    -d用于指定用户的默认工作目录。
    -d选项用于指定用户的默认工作目录。
    -M选项用于禁止创建用户的默认工作目录。
    -M:不创建家目录
    -M: 不创建家目录
    -M: 不创建家目录
    -s选项用于阻止用户的正常登录。
    -s: 不登录系统
复制代码
 #创建组ftp

    
 groupadd ftp 
    
  
    
 #创建用户
    
 useradd -g ftp -d /web/www/html -M -s /sbin/nologin team1
    
 useradd -g ftp -d /web/www/html -M -s /sbin/nologin team2
    
 #为用户创建密码
    
 passwd team1
    
 passwd team2
    
  
    
 #修改/web/www/html目录为ftp组
    
 chown root:ftp /web/www/html
    
    
    
    
    bash
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-08-19/EgnZADkf4xuhHS9BYT18zRPlL0ai.png)

四、修改vsftpd.conf文件

1、备份 vsftpd.conf 配置文件

请先备份/etc/vsftpd/vsftpd.conf配置文件(以确保后续操作不会受到影响),随后进行配置

复制代码
    vim vsftpd.conf    #进入配置文件
    
    bash

2、需要去除注释配置

进入该配置文件后,将100、101、103行的内容去掉注释

将剩下注释的内容全部删除后剩下的内容

以下是对传入文本的同义改写版本

3、添加配置文件

除了上述还需要配置以下内容

4、最终文件配置信息

其实修改的内容也就如下

5、创建 /etc/vsftpd/chroot_list 文件

复制代码
    vim /etc/vsftpd/chroot_list
    
    bash

添加 team1 和 team2 注意换行

五、启动FTP服务

重启 vsftpd

复制代码
    systemctl restart vsftpd
    
    bash

在客户端上需要先安装 ftp 服务

复制代码
    yum -y install ftp
    
    bash

上图可以看到,已经把 team1、team2用户限制在了/web/www/html目录下

全部评论 (0)

还没有任何评论哟~