广告
返回顶部
首页 > 资讯 > 服务器 >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://www.lsjlt.com/news/315065.html(转载时请注明来源链接)

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 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+
    2022-10-18
  • 怎么使用ThinkPHP部署FTP服务
    这篇文章主要介绍“怎么使用ThinkPHP部署FTP服务”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用ThinkPHP部署FTP服务”文章能帮助大家解决问题。第一步:安装 FTP 服务在部署...
    99+
    2023-07-06
  • CentOS下怎么部署Apache服务
    本篇内容介绍了“CentOS下怎么部署Apache服务”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!编译安装开发环境编译安装前首先yum 安...
    99+
    2023-06-27
  • CentOS中怎么部署Squid代理服务
    这篇文章主要介绍“CentOS中怎么部署Squid代理服务”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“CentOS中怎么部署Squid代理服务”文章能帮助大家解决问题。Squid cache(简称...
    99+
    2023-06-27
  • CentOS 7中怎么部署一个RabbitMQ服务
    CentOS 7中怎么部署一个RabbitMQ服务,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。RabbitMQ 安装# Install from&nb...
    99+
    2023-06-16
  • 服务器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
  • Centos系统中怎么部署Codis集群服务
    本文小编为大家详细介绍“Centos系统中怎么部署Codis集群服务”,内容详细,步骤清晰,细节处理妥当,希望这篇“Centos系统中怎么部署Codis集群服务”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、C...
    99+
    2023-06-27
  • RHEL6中怎么部署Apache服务器
    这篇文章主要介绍“RHEL6中怎么部署Apache服务器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“RHEL6中怎么部署Apache服务器”文章能帮助大家解决问题。Apache的安装如果安装RHE...
    99+
    2023-06-27
  • Ubuntu18.04中怎么部署VNC服务器
    本篇内容主要讲解“Ubuntu18.04中怎么部署VNC服务器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Ubuntu18.04中怎么部署VNC服务器”吧!VNC(Virtual Networ...
    99+
    2023-06-27
  • CentOS7.0中怎么部署DNS服务器
    本篇内容介绍了“CentOS7.0中怎么部署DNS服务器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!DNS(Domain Name Sys...
    99+
    2023-06-27
  • 怎么部署云服务器
    这篇文章主要介绍“怎么部署云服务器”,在日常操作中,相信很多人在怎么部署云服务器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么部署云服务器”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!一、办公类应用服...
    99+
    2023-06-04
  • 云服务器怎么部署
    云服务器部署通常分为两步,第一步是选择云服务器提供商,第二步是购买和安装云服务器。以下是一些可能涉及到的步骤和需要考虑的问题。 选择云服务器提供商 如果您已经选择云服务器提供商,那么这一步可能并不需要太过担心。您可以查看提供商的官网、...
    99+
    2023-10-26
    服务器
  • vue怎么部署服务器
    这篇文章主要介绍了vue怎么部署服务器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue怎么部署服务器文章都会有所收获,下面我们一起来看看吧。 部署前端项目vue到服务器 ...
    99+
    2022-10-19
  • 租用美国服务器部署wordpress怎么加速
    租用美国服务器部署wordpress加速的方法:1、禁用Google Open Sans自动载入,使网站速度不因需要载入改字体而变慢;2、删除多余的wordpress插件,对插件进行必要的测试,以免造成功能重复或发生冲突;3、禁用评论功能或...
    99+
    2022-10-05
  • docker-compose怎么配置并部署redis服务
    本篇内容介绍了“docker-compose怎么配置并部署redis服务”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、安装docker和...
    99+
    2023-06-29
  • 怎么在CentOS系统下搭建FTP服务器vsftpd
    这篇文章主要介绍“怎么在CentOS系统下搭建FTP服务器vsftpd”,在日常操作中,相信很多人在怎么在CentOS系统下搭建FTP服务器vsftpd问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么在Ce...
    99+
    2023-06-10
  • 云服务器部署前端项目怎么设置密码
    云服务器部署前端项目的密码通常是通过在云服务器上设置的密码来保护的,以确保您不受未经授权的访问或使用。以下是设置云服务器密码的一般步骤: 在云服务器的管理界面中输入云服务器的IP地址和端口号。例如,您可以输入 192.168.1.100...
    99+
    2023-10-27
    密码 服务器 项目
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作