返回顶部
首页 > 资讯 > 服务器 >Centos中怎么部署并加密FTP服务器
  • 720
分享到

Centos中怎么部署并加密FTP服务器

2023-06-28 00:06:19 720人浏览 泡泡鱼
摘要

这篇“Centos中怎么部署并加密FTP服务器”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Centos中怎么部署并加密FT

这篇“Centos中怎么部署并加密FTP服务器”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Centos中怎么部署并加密FTP服务器”文章吧。

FTP是一种上传和下载用的软件。用户可以通过它把自己的PC机与运行FTP协议的服务器相连,访问服务器上的程序和信息。

Centos中怎么部署并加密FTP服务器

步骤 1:安装 FTP 服务器

安装 vsftpd 服务器很直接,只要在终端运行下面的命令。

# yum install vsftpd

安装完成后,服务先是被禁用的,因此我们需要手动启动,并设置在下次启动时自动启用:

# systemctl start vsftpd# systemctl enable vsftpd

接下来,为了允许从外部系统访问 FTP 服务,我们需要打开 FTP 守护进程监听的 21 端口:

# firewall-cmd --zone=public --permanent --add-port=21/tcp# firewall-cmd --zone=public --permanent --add-service=ftp# firewall-cmd --reload

步骤 2: 配置 FTP 服务器

现在,我们会进行一些配置来设置并加密我们的 FTP 服务器,让我们先备份一下原始配置文件

/etc/vsftpd/vsftpd.conf

# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.orig

接下来,打开上面的文件,并将下面的选项设置相关的值:

anonymous_enable=NO             ### 禁用匿名登录local_enable=YES        ### 允许本地用户登录write_enable=YES        ### 允许对文件系统做改动的 FTP 命令local_umask=022             ### 本地用户创建文件所用的 umask 值dirmessage_enable=YES           ### 当用户首次进入一个新目录时显示一个消息xferlog_enable=YES      ### 用于记录上传、下载细节的日志文件connect_from_port_20=YES        ### 使用端口 20 (ftp-data)用于 PORT 风格的连接xferlog_std_fORMat=YES          ### 使用标准的日志格式listen=NO               ### 不要让 vsftpd 运行在独立模式listen_ipv6=YES             ### vsftpd 将监听 IPv6 而不是 IPv4pam_service_name=vsftpd         ###  vsftpd 使用的 PAM 服务名userlist_enable=YES             ### vsftpd 支持载入用户列表tcp_wrappers=YES        ### 使用 tcp wrappers

现在基于用户列表文件/etc/vsftpd.userlist来配置 FTP 来允许/拒绝用户的访问。

默认情况下,如果设置了userlist_enable=YES,当userlist_deny选项设置为YES的时候,userlist_file=/etc/vsftpd.userlist中列出的用户被拒绝登录。

然而, 更改配置为userlist_deny=NO,意味着只有在userlist_file=/etc/vsftpd.userlist显式指定的用户才允许登录。

userlist_enable=YES                   ### vsftpd 将从 userlist_file 给出的文件中载入用户名列表userlist_file=/etc/vsftpd.userlist    ### 存储用户名的文件userlist_deny=NO

这并不是全部,当用户登录到 FTP 服务器时,它们会进入 chroot jail 中,这是仅作为 FTP 会话主目录的本地根目录。

接下来,我们将介绍如何将 FTP 用户 chroot 到 FTP 用户的家目录(本地 root)中的两种可能情况,如下所述。

接下来添加下面的选项来限制 FTP 用户到它们自己的家目录。

chroot_local_user=YESallow_writeable_chroot=YES

chroot_local_user=YES意味着用户可以设置 chroot jail,默认是登录后的家目录。

同样默认的是,出于安全原因,vsftpd 不会允许 chroot jail 目录可写,然而,我们可以添加allow_writeable_chroot=YES 来覆盖这个设置。

保存并关闭文件。

步骤 3: 用 SELinux 加密 FTP 服务器

现在,让我们设置下面的 SElinux 布尔值来允许 FTP 能读取用户家目录下的文件。请注意,这原本是使用以下命令完成的:

# setsebool -P ftp_home_dir on

然而,由于这个 bug 报告:ftp_home_dir指令默认是禁用的。

现在,我们会使用semanage命令来设置 SELinux 规则来允许 FTP 读取/写入用户的家目录。

# semanage boolean -m ftpd_full_access --on

这时,我们需要重启 vsftpd 来使目前的设置生效:

# systemctl restart vsftpd

步骤 4: 测试 FTP 服务器

现在我们会用useradd 命令创建一个 FTP 用户来测试 FTP 服务器。

# useradd -m -c “Ravi Saive, CEO” -s /bin/bash ravi# passwd ravi

之后,我们如下使用echo 命令添加用户 ravi 到文件/etc/vsftpd.userlist中:

# echo "ravi" | tee -a /etc/vsftpd.userlist# cat /etc/vsftpd.userlist

现在是时候测试我们上面的设置是否可以工作了。让我们使用匿名登录测试,我们可以从下面的截图看到匿名登录没有被允许。

# ftp 192.168.56.10Connected to 192.168.56.10  (192.168.56.10).220 Welcome to TecMint.com FTP service.Name (192.168.56.10:root) : anonymous530 Permission denied.Login failed.ftp>
Centos中怎么部署并加密FTP服务器

测试 FTP 匿名登录

让我们也测试一下没有列在/etc/vsftpd.userlist中的用户是否有权限登录,下面截图是没有列入的情况:

# ftp 192.168.56.10Connected to 192.168.56.10  (192.168.56.10).220 Welcome to TecMint.com FTP service.Name (192.168.56.10:root) : aaronkilik530 Permission denied.Login failed.ftp>
Centos中怎么部署并加密FTP服务器

FTP 用户登录失败

现在最后测试一下列在 /etc/vsftpd.userlist 中的用户是否在登录后真的进入了他/她的家目录:

# ftp 192.168.56.10Connected to 192.168.56.10  (192.168.56.10).220 Welcome to TecMint.com FTP service.Name (192.168.56.10:root) : ravi331 Please specify the passWord.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> ls
Centos中怎么部署并加密FTP服务器

用户成功登录

警告:使用 allow_writeable_chroot=YES有一定的安全隐患,特别是用户具有上传权限或 shell 访问权限时。

只有当你完全知道你正做什么时才激活此选项。重要的是要注意,这些安全性影响并不是 vsftpd 特定的,它们适用于所有提供了将本地用户置于 chroot jail 中的 FTP 守护进程。

因此,我们将在下一节中看到一种更安全的方法来设置不同的不可写本地根目录。

步骤 5: 配置不同的 FTP 家目录

再次打开 vsftpd 配置文件,并将下面不安全的选项注释掉:

#allow_writeable_chroot=YES

接着为用户(ravi,你的可能不同)创建另外一个替代根目录,并将所有用户对该目录的可写权限移除:

# mkdir /home/ravi/ftp# chown nobody:nobody /home/ravi/ftp# chmod a-w /home/ravi/ftp

接下来,在用户存储他/她的文件的本地根目录下创建一个文件夹:

# mkdir /home/ravi/ftp/files# chown ravi:ravi  /home/ravi/ftp/files# chmod 0700 /home/ravi/ftp/files/

接着在 vsftpd 配置文件中添加/修改这些选项:

user_sub_token=$USER         ### 在本地根目录下插入用户名local_root=/home/$USER/ftp   ### 定义任何用户的本地根目录

保存并关闭文件。再说一次,有新的设置后,让我们重启服务:

# systemctl restart vsftpd

现在最后在测试一次查看用户本地根目录就是我们在他的家目录创建的 FTP 目录。

# ftp 192.168.56.10Connected to 192.168.56.10  (192.168.56.10).220 Welcome to TecMint.com FTP service.Name (192.168.56.10:root) : ravi331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> ls
Centos中怎么部署并加密FTP服务器

FTP 用户家目录登录成功

以上就是关于“Centos中怎么部署并加密FTP服务器”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网服务器频道。

--结束END--

本文标题: Centos中怎么部署并加密FTP服务器

本文链接: https://lsjlt.com/news/315065.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Centos中怎么部署并加密FTP服务器
    这篇“Centos中怎么部署并加密FTP服务器”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Centos中怎么部署并加密FT...
    99+
    2023-06-28
  • FreeBSD中怎么部署FTP服务
    这篇文章主要介绍“FreeBSD中怎么部署FTP服务”,在日常操作中,相信很多人在FreeBSD中怎么部署FTP服务问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”FreeBSD中怎么部署FTP服务”的疑惑有所...
    99+
    2023-06-27
  • 怎么在云服务器上部署ftp
    在云服务器上部署FTP,可以按照以下步骤进行操作:1. 首先,登录到云服务器的操作系统,以获取管理员权限。2. 安装FTP服务器软件...
    99+
    2023-09-27
    云服务器
  • 云服务器centOS怎么部署php
    本篇内容主要讲解“云服务器centOS怎么部署php”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“云服务器centOS怎么部署php”吧!如何部署php?php...
    99+
    2024-04-02
  • 怎么使用ThinkPHP部署FTP服务
    这篇文章主要介绍“怎么使用ThinkPHP部署FTP服务”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用ThinkPHP部署FTP服务”文章能帮助大家解决问题。第一步:安装 FTP 服务在部署...
    99+
    2023-07-06
  • CentOS中怎么部署Squid代理服务
    这篇文章主要介绍“CentOS中怎么部署Squid代理服务”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“CentOS中怎么部署Squid代理服务”文章能帮助大家解决问题。Squid cache(简称...
    99+
    2023-06-27
  • CentOS下怎么部署Apache服务
    本篇内容介绍了“CentOS下怎么部署Apache服务”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!编译安装开发环境编译安装前首先yum 安...
    99+
    2023-06-27
  • CentOS 7中怎么部署一个RabbitMQ服务
    CentOS 7中怎么部署一个RabbitMQ服务,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。RabbitMQ 安装# Install from&nb...
    99+
    2023-06-16
  • CentOS服务器如何部署
    这篇文章主要为大家展示了“CentOS服务器如何部署”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CentOS服务器如何部署”这篇文章吧。一、虚拟机CentOS系统安装部署:二、虚拟机CentO...
    99+
    2023-06-03
  • 阿里云部署FTP服务器上
    FTP(File TransferProtocol)是一种文件传输协议,它允许用户通过网络将文件从一台计算机传输到另一台计算机。本文将介绍如何在阿里云上部署FTP服务器。 部署FTP服务器的步骤如下:步骤1:登录阿里云控制台首先,需要登录阿...
    99+
    2023-10-30
    阿里 器上 FTP
  • centos怎么配置ftp服务器
    要配置FTP服务器在CentOS上,您可以按照以下步骤操作: 安装vsftpd软件包: sudo yum install vsf...
    99+
    2024-04-09
    centos 服务器
  • centos怎么安装ftp服务器
    要在CentOS上安装FTP服务器,您可以使用vsftpd软件包。以下是在CentOS上安装和配置vsftpd的步骤: 使用以下命...
    99+
    2024-04-22
    centos 服务器
  • Centos系统中怎么部署Codis集群服务
    本文小编为大家详细介绍“Centos系统中怎么部署Codis集群服务”,内容详细,步骤清晰,细节处理妥当,希望这篇“Centos系统中怎么部署Codis集群服务”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、C...
    99+
    2023-06-27
  • 服务器Centos部署MySql并连接Navicat过程详解
    (1)服务器配置: [root@localhost ~]# cd /usr/local/src/ [root@localhost src]# wget http://repo.mysql.com/mysql57...
    99+
    2022-05-30
    服务器 Centos 部署 MySql 连接Navicat
  • 在阿里云上部署ftp服务器
    简介 FTP(File TransferProtocol)是一种用于在计算机之间传输文件的标准协议。在阿里云上部署FTP服务器,可以方便地管理和共享文件,并提供安全可靠的文件传输服务。详细说明步骤一:创建实例首先,在阿里云控制台上创建一个E...
    99+
    2024-01-19
    阿里 服务器 ftp
  • Nginx怎么部署https加密认证
    本文小编为大家详细介绍“Nginx怎么部署https加密认证”,内容详细,步骤清晰,细节处理妥当,希望这篇“Nginx怎么部署https加密认证”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。关于https所需要的...
    99+
    2023-06-27
  • php源代码怎么加密部署
    要对PHP源代码进行加密部署,可以使用以下方法: 使用Obfuscator:使用PHP Obfuscator工具可以将源代码进行...
    99+
    2023-10-27
    php
  • 阿里云centos部署svn服务器
    本文将详细地介绍如何在阿里云上使用CentOS操作系统部署SVN服务器,SVN是版本控制系统,是进行代码管理和团队协作的重要工具。在阿里云上部署SVN服务器可以方便地进行代码管理,提高团队协作效率。 一、准备环境在阿里云上部署SVN服务器...
    99+
    2023-12-13
    阿里 服务器 centos
  • CentOS中怎么安装部署MySQL 8.0
    本篇文章给大家分享的是有关CentOS中怎么安装部署MySQL 8.0,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Mysql8.0安装 (Y...
    99+
    2024-04-02
  • Centos中怎么使用kubeadm部署kubernetes1.18
    这篇“Centos中怎么使用kubeadm部署kubernetes1.18”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Ce...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作