热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在Centos中搭建FTP服务

FTP是FileTransferProtocol的缩写,用于在网络上进行文件传输的一套标准协议,它工作在OSI模型的第七层,TCP模型的第四层,即应用层,使用TCP传输而不是UDP


FTP 是 File Transfer Protocol 的缩写,用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。


安装 vsftpd 服务


vsftpd 是“very secure FTP daemon”的缩写,它是UNIX 类操作系统上的一个完全免费的、开发源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。



这里使用 yum
快速安装:


yum install vsftpd -y

启动 vsftpd 服务


systemctl enable vsftpd
systemctl start vsftpd

采用被动模式(PASV)



FTP协议有两种工作方式: PORT
方式和 PASV
方式,中文意思为主动式和被动式。



PORT
(主动)方式的连接过程


当需要传送数据时,客户端在命令链路上用 PORT命令告诉服务器:“我打开了端口,你过来连接我”。于是服务器从20端口向客户端的端口发送连接请求,建立一条数据链路来传送数据。



PASV
(被动)方式的连接过程


当需要传送数据时,服务器在命令链路上用 PASV命令告诉客户端:“我打开了端口,你过来连接我”。于是客户端向服务器的端口发送连接请求,建立一条数据链路来传送数据。


配置被动模式



在配置文件 /etc/vsftpd/vsftpd.conf
结尾增加:


pasv_enable=YES
pasv_min_port=6000
pasv_max_port=7000


然后重启 vsftpd
服务使配置生效


systemctl restart vsftpd

开放端口


ftp 默认使用21端口


firewall-cmd --zOne=public --add-port=21/tcp --permanent

这里使用被动模式(PASV),需要在FTP服务器软件上为PASV方式指定可用的端口范围:


firewall-cmd --zOne=public --add-port=6000-7000/tcp --permanent

重载防火墙,使配置生效


firewall-cmd --reload

匿名用户登录



默认 /etc/vsftpd/vsftpd.conf
文件里是开启匿名登录的 anonymous_enable=YES
,匿名用户登录的用户名为 anonymous
,密码为空,对应目录是 /var/ftp


实体用户访问


添加一个用户用于ftp访问


useradd ftpuser -s /sbin/nologin

设置密码


passwd ftpuser

如果还登录不上,可以按照下面的操作:



查看 /etc/shells
文件里是否存在 /sbin/nologin
,如果不存在将其加到最后:


echo "/sbin/nologin" >> /etc/shells


因为, ftp
会根据 /etc/shells
这个文件来判断一个用户是否是有效用户,会阻止那些 shell
不在 /etc/shells
里的用户登陆。




推荐阅读
  • FTP服务ftp的报错及用户管理
    ftp服务常见报错530报错认证失败(密码错误或者服务端拒绝)550服务本身未开启553文件系统不可写(权限问题)500服 ... [详细]
  • 【Linux】CentOS 7 远程连接指南:高效安全的远程管理方法
    在 CentOS 7 中实现高效且安全的远程管理,本文详细介绍了如何检查和安装配置 OpenSSH。首先,通过 `yum list installed` 命令检查系统是否已安装 OpenSSH,若未安装,则使用 `yum install openssh-server` 进行安装。随后,配置 SSH 服务以确保其安全性和稳定性,包括修改默认端口、禁用 root 登录等关键步骤。此外,还提供了常见问题的解决方案,帮助用户顺利进行远程连接。 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 本文详细介绍了在CentOS 6.5 64位系统上使用阿里云ECS服务器搭建LAMP环境的具体步骤。首先,通过PuTTY工具实现远程连接至服务器。接着,检查当前系统的磁盘空间使用情况,确保有足够的空间进行后续操作,可使用 `df` 命令进行查看。此外,文章还涵盖了安装和配置Apache、MySQL和PHP的相关步骤,以及常见问题的解决方法,帮助用户顺利完成LAMP环境的搭建。 ... [详细]
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • 本文深入探讨了使用Puppet进行软件包分发与管理的方法。首先介绍了fpm这一跨平台的软件包制作工具,其简便的操作流程使得软件包的创建变得轻松快捷。fpm的项目地址为:https://github.com/jordansissel/fpm。通过结合Puppet和fpm,可以实现高效、可靠的软件包管理和部署。 ... [详细]
  • 利用 Python Paramiko 库在远程服务器上高效执行 Shell 脚本的方法与技巧 ... [详细]
  • ;etcftpusers的设定是限制系统上的某些用户不能使用FTP传送文件,etcftphosts的设定是限制不允许某些主机连接到你的FTP服务器,这样做是为了保证系统的安全性。e ... [详细]
  • 服务器监控系统大概多少钱,服务器监控系统 报价
    服务器监控系统报价内容精选换一换设置“云服务器名称”。名称可自定义,但需符合命名规则:只能由中文字符、英文字母、数字及“_”、“-”、“.”组成。如果同 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • IP双栈环境下网络应用迁移
    IPv4向IPv6迁移有多种途径,在选择具体的迁移方式时,当前环境中运行的应用是否支持IPv6是重要的考量因素之一,同时在编写新的应用时,需要考虑新编写的应用不仅可以适应当前主流的IPv4环境, ... [详细]
  • SVN 功能说明(简版)
    Subversion(SVN)是什么?SVN是一种版本管理系统,是开源软件的基石。即使在沟通充分的情况下,多人维护同一份源代码的一定也会 ... [详细]
  • 【教程】SecureCRT8.5安装和注册的详细步骤及操作指南
    00.目录文章目录00.目录01.SecureCRT8.5介绍02.SecureCRT8.5的特性03.SecureCRT8.5的特点04.SecureCRT8.5安装05.Sec ... [详细]
  • 用lvm+vmware+kickstart实现系统自动安装和快照安装
    由于我的机子是32位,装不了64位系统,所以无法使用kvm,只能用vmware了,可是vmware安装使用自带的autoinst.iso实现自动安装,无法实现我的需求,经过研究我使用kic ... [详细]
author-avatar
木易_迪迪
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有