我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

这篇“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服务器”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

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

下载Word文档

猜你喜欢

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

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

FreeBSD中怎么部署FTP服务

这篇文章主要介绍“FreeBSD中怎么部署FTP服务”,在日常操作中,相信很多人在FreeBSD中怎么部署FTP服务问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”FreeBSD中怎么部署FTP服务”的疑惑有所
2023-06-27

怎么在云服务器上部署ftp

在云服务器上部署FTP,可以按照以下步骤进行操作:1. 首先,登录到云服务器的操作系统,以获取管理员权限。2. 安装FTP服务器软件。常见的FTP服务器软件有ProFTPD和vsftpd可以选择。可以使用以下命令安装ProFTPD:```s
2023-09-27

怎么在云服务器上部署ftp

部署FTP服务器的步骤:安装FTP软件、配置服务器、创建用户、安装防火墙规则、启动并启用服务器。高级配置包括SFTP、Passive模式、虚拟主机、限制权限和日志记录。安全最佳实践包括使用强密码、启用加密、更新软件、限制访问和监控日志。连接到FTP服务器需要使用FTP客户端和服务器详细信息。
怎么在云服务器上部署ftp
2024-04-11

怎么使用ThinkPHP部署FTP服务

这篇文章主要介绍“怎么使用ThinkPHP部署FTP服务”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用ThinkPHP部署FTP服务”文章能帮助大家解决问题。第一步:安装 FTP 服务在部署
2023-07-06

CentOS中怎么部署Squid代理服务

这篇文章主要介绍“CentOS中怎么部署Squid代理服务”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“CentOS中怎么部署Squid代理服务”文章能帮助大家解决问题。Squid cache(简称
2023-06-27

CentOS下怎么部署Apache服务

本篇内容介绍了“CentOS下怎么部署Apache服务”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!编译安装开发环境编译安装前首先yum 安
2023-06-27

CentOS 7中怎么部署一个RabbitMQ服务

CentOS 7中怎么部署一个RabbitMQ服务,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。RabbitMQ 安装# Install from EPEL [root@v
2023-06-16

centos怎么安装ftp服务器

要在CentOS上安装FTP服务器,您可以使用vsftpd软件包。以下是在CentOS上安装和配置vsftpd的步骤:使用以下命令安装vsftpd软件包:sudo yum install vsftpd启动vsftpd服务并将其设置为开机启动
centos怎么安装ftp服务器
2024-04-22

centos怎么配置ftp服务器

要配置FTP服务器在CentOS上,您可以按照以下步骤操作:安装vsftpd软件包:sudo yum install vsftpd启动vsftpd服务并设置开机自启动:sudo systemctl start vsftpdsudo sys
centos怎么配置ftp服务器
2024-04-09

Centos系统中怎么部署Codis集群服务

本文小编为大家详细介绍“Centos系统中怎么部署Codis集群服务”,内容详细,步骤清晰,细节处理妥当,希望这篇“Centos系统中怎么部署Codis集群服务”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、C
2023-06-27

服务器Centos部署MySql并连接Navicat过程详解

(1)服务器配置:[root@localhost ~]# cd /usr/local/src/[root@localhost src]# wget http://repo.mysql.com/mysql57-community-releas
2022-05-30

Ubuntu18.04中怎么部署VNC服务器

本篇内容主要讲解“Ubuntu18.04中怎么部署VNC服务器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Ubuntu18.04中怎么部署VNC服务器”吧!VNC(Virtual Networ
2023-06-27

CentOS7.0中怎么部署DNS服务器

本篇内容介绍了“CentOS7.0中怎么部署DNS服务器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!DNS(Domain Name Sys
2023-06-27

RHEL6中怎么部署Apache服务器

这篇文章主要介绍“RHEL6中怎么部署Apache服务器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“RHEL6中怎么部署Apache服务器”文章能帮助大家解决问题。Apache的安装如果安装RHE
2023-06-27

docker-compose怎么配置并部署redis服务

本篇内容介绍了“docker-compose怎么配置并部署redis服务”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、安装docker和
2023-06-29

怎么部署云服务器

这篇文章主要介绍“怎么部署云服务器”,在日常操作中,相信很多人在怎么部署云服务器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么部署云服务器”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!一、办公类应用服
2023-06-04

编程热搜

目录