iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >CentOS7 安装搭建FTP服务器
  • 203
分享到

CentOS7 安装搭建FTP服务器

服务器运维linux 2023-09-16 18:09:52 203人浏览 八月长安
摘要

Centos7 安装搭建FTP服务器 1、FTP简介2、关闭防火墙3、安装FTP软件包4、新建用户和FTP目录5、配置ftp服务器6、重启并配置防火墙7、重启FTP服务8、访问测试 1

Centos7 安装搭建FTP服务器

1、FTP简介

ftp客户端与服务器创建网络连接,请求登录服务器,登录成功后,就可以进行文件传输,主要包括下载文件和上传文件两种操作

2、关闭防火墙

为了避免一些不必要的麻烦,我们先关闭防火墙和selinux,等搭建成功之后再开启防火墙和相应的端口

[root@nsl ~]# systemctl status firewalld.service      # 查看防火墙状态[root@nsl ~]# systemctl stop firewalld.service      # 停止防火墙服务[root@nsl ~]# systemctl disable firewalld.service # 关闭防火墙开启自启动# 把文件中的SELINUX=enforcing 改为SELINUX=disabled[root@nsl ~]# vim /etc/selinux/config           [root@nsl ~]# setenforce 0  # 使修改马上生效

3、安装FTP软件包

在CentOS7中,采用yum来安装ftp软件包,包括ftp服务器和ftp客户端

查看是否已经安装了vsftpd
# 如果没有返回任何结果,表示没有安装;如果返回文件包名,这表示已经安装了该服务;[root@nsl ~]# rpm -q vsftpd vsftpd-3.0.2-29.el7_9.x86_64               # 代表已安装[root@nsl ~]# vsftpd -vvsftpd: version 3.0.2                      # 代表已安装[root@nsl ~]# rpm -e vsftpd            # 卸载vsftpd# 再次检查[root@nsl ~]# rpm -qa|grep vsftpd[root@nsl ~]# vsftpd -version————————————————
开始安装vsftpd
  • 安装ftp服务器
# 如果已经安装,再次执行yum就会把软件包升级到最新版本[root@nsl ~]# yum install -y vsftpd

安装软件包

  • 安装ftp客户端
[root@nsl ~]# yum install -y ftp lftp

安装ftp

  • 设置为开机自动启动服务
[root@nsl ~]# systemctl enable vsftpd.service 

成功设置开机启动服务

  • 启动vsftpd服务
    ftp服务器的服务名是vsftpd,想关操作如下:
[root@nsl ~]# systemctl start  vsftpd.service      # 启动服务[root@nsl ~]# systemctl stop  vsftpd.service        # 停止服务[root@nsl ~]# systemctl restart vsftpd.service      # 重启服务# 启动和停止及重启这三个命令输入正确后回车是不会有反馈的

没有反馈结果

[root@nsl ~]# systemctl status vsftpd.service       # 查看服务状态

在这里插入图片描述

[root@nsl ~]# systemctl enable vsftpd.service       # 设置开机自启动vsftpd服务[root@nsl ~]# systemctl disable vsftpd.service      # 禁用开机自启动vsftpd服务

开启关闭的反馈

4、新建用户和FTP目录

ftpuser是你为该ftp服务创建的用户名,/data/ftp/ftpuser为ftp服务器访问路径
  • 新建FTP目录并授权
# 创建文件目录[root@nsl ~]# mkdir -p /data/ftp/ftpuser# 为该目录配置权限[root@nsl ~]# chmod -R 755 /data/ftp/ftpuser

创建及设置
如果我们直接使用useradd -d ftpuser,则新建的用户是可以登录系统的,这样会给FTP服务器带来安全隐患。
因此我们为了不让FTP用户登录系统,就必须为FTP用户统一创建一个不能登录系统的shell,这一行的命令只运行一次即可,后面新建用户就不需要执行了。

[root@nsl ~]# echo /usr/bin/nologin>>/etc/shells

ddddddddddd

  • 新建ftp组及用户
# 新建用户组ftpgroupadd ftp# 指定用户主目录:/data/ftp/ftpuser -M# 指定用户的shell: -s /usr/bin/nologin# 新建用户ftpuser,并且设置不支持ssh系统登录,只能登录ftp服务器# -g 用户组; -d 指定家目录; -s 不能登陆系统; -M 不创建家目录[root@nsl ~]# useradd -g ftp -d /data/ftp/ftpuser -M -s /usr/bin/nologin ftpuser

在这里插入图片描述

# 如果要恢复ftpuser用户的ssh登录(可登入CentOS7系统),执行下面的语句即可[root@nsl ~]# usermod -s /bin/bash ftpuser

11111111

  • 设置密码
# echo "新密码" | passwd --stdin 用户名[root@nsl ~]# echo "qwer123" | passwd --stdin ftpuser 

2222

  • 新建FTP用户可写目录
# 由于/data/ftp/ftpuser的用户是root,其它用户都没有写的权限# 所以要在该目录下新建一个目录用于文件的上传下载[root@nsl ~]# mkdir -p /data/ftp/ftpuser/upload[root@nsl ~]# chown ftpuser:ftp /data/ftp/ftpuser/upload[root@nsl ~]# chmod 755 /data/ftp/ftpuser/upload

55555

5、配置ftp服务器

  • 备份配置文件
# 防止后期配置文件出错后无法还原,所有需要备份一下文件。[root@nsl ~]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.backup[root@nsl ~]# cd /etc/vsftpd/[root@nsl vsftpd]# ll

111

  • 编辑配置文件
[root@nsl vsftpd]# vim /etc/vsftpd/vsftpd.conf# 打开vsftpd.conf文件,全选删除(Esc+gg+dG)文件内容,然后用下面的配置进行替换# 是否开启匿名用户,匿名都不安全,默认NOanonymous_enable=NO# 允许本机账号登录FTP# 这个设定值必须要为YES时,在/etc/passwd内的账号才能以实体用户的方式登入我们的vsftpd主机local_enable=YES# 允许账号都有写操作write_enable=YES# 本地用户创建文件或目录的掩码# 意思是指:文件目录权限:777-022=755,文件权限:666-022=644local_umask=022# 进入某个目录的时候,是否在客户端提示一下dirmessage_enable=YES# 当设定为YES时,使用者上传与下载日志都会被记录起来xferlog_enable=YES# 日志成为std格式xferlog_std_fORMat=YES# 上传与下载日志存放路径xferlog_file=/var/log/xferlog# 开放port模式的20端口的连接connect_from_port_20=YES# 关于系统安全的设定值:# ascii_download_enable=YES(NO)# 如果设定为YES,那么client就可以使用ASCII格式下载档案# 一般来说,由于启动了这个设定项目可能会导致DoS的攻击,因此预设是NO# ascii_upload_enable=YES(NO)# 与上一个设定类似的,只是这个设定针对上传而言,预设是NOascii_upload_enable=NOascii_download_enable=NO# 通过搭配能实现以下几种效果:# ①当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd/chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录# ②当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd/chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录# ③当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录# ④当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录# 限制用户只能在自己的目录活动chroot_local_user=YESchroot_list_enable=NOchroot_list_file=/etc/vsftpd/chroot_list# 可以更改ftp的端口号,使用默认值21# listen_port=60021# 监听ipv4端口,开了这个就说明vsftpd可以独立运行,不用依赖其他服务listen=NO# 监听ipv6端口listen_ipv6=YES# 打开主动模式port_enable=YES# 启动被动式联机(passivemode)pasv_enable=YES# 被动模式端口范围:注意:linux客户端默认使用被动模式,windows 客户端默认使用主动模式。在ftp客户端中执行"passive"来切换数据通道的模式。也可以使用"ftp -A ip"直接使用主动模式。主动模式、被动模式是有客户端来指定的# 上面两个是与passive mode使用的port number有关,如果您想要使用64000到65000这1000个port来进行被动式资料的连接,可以这样设定# 这两项定义了可以同时执行下载链接的数量# 被动模式起始端口,0为随机分配pasv_min_port=64000# 被动模式结束端口,0为随机分配pasv_max_port=65000# 文件末尾添加# 这个是pam模块的名称,我们放置在/etc/pam.d/vsftpd,认证用pam_service_name=vsftpd# 使用允许登录的名单,在/etc/vsftpd/user_list文件中添加新建的用户ftpuseruserlist_enable=YES# 限制允许登录的名单,前提是userlist_enable=YES,其实这里有点怪,禁止访问名单在/etc/vsftpd/ftpusersuserlist_deny=NO# 允许限制在自己的目录活动的用户拥有写权限# 不添加下面这个会报错:500 OOPS: vsftpd: refusing to run with writable root inside chroot()allow_writeable_chroot=YES# 当然我们都习惯支持tcp Wrappers的啦# Tcp wrappers : Transmission Control Protocol (TCP) Wrappers 为由 inetd 生成的服务提供了增强的安全性tcp_wrappers=YES# FTP访问目录local_root=/data/ftp/ftpuser
  • 允许新建用户登录FTP
[root@nsl vsftpd]# vim /etc/vsftpd/user_list

将新建用户ftpuser添加到/etc/vsftpd/user_list文件末尾

在这里插入图片描述
注意:
这个是允许登录ftp的名单,一行一个用户,不能把多个写到一行

修改用户切换目录的权限

用户切换目录的规则设定在/etc/vsftpd/vsftpd.conf文件中,如果有用户有权限切换目录,则在/etc/vsftpd/chroot_list文件中添加即可(一行一个用户)
例如:

# 在chroot_list中添加新建用户ftpuser# 第一步:打开文件[root@nsl ~]# vim /etc/vsftpd/chroot_list# 第二步:添加ftpuser用户[root@nsl ~]# ftpuser# 第三步:保存文件并退出

6、重启并配置防火墙

[root@nsl ~]# systemctl enable firewalld.service                           # 重启防火墙开机自启动[root@nsl ~]# systemctl restart firewalld.service                          # 重启防火墙服务[root@nsl ~]# firewall-cmd --version           # 查看防火墙版本[root@nsl ~]# firewall-cmd --list-all                    # 查看已开放的端口[root@nsl ~]# firewall-cmd --permanent --zone=public --add-service=ftp     # 防火墙开通ftp服务[root@nsl ~]# firewall-cmd --permanent --zone=public --add-port=21/tcp     # 开通ftp服务21命令控制端口# 主动模式下数据传输端口等于命令控制端口-1 ======> 21 - 1 = 20# 开通ftp服务主动模式的20数据传输端口[root@nsl ~]# firewall-cmd --permanent --zone=public --add-port=20/tcp    # 开通ftp服务被动模式的数据端口范围[root@nsl ~]# firewall-cmd --permanent --zone=public --add-port=64000-65000/tcp [root@nsl ~]# firewall-cmd --reload# 刷新防火墙,重新载入# 设置关闭SELinux对ftp的限制[root@nsl ~]# setsebool -P ftpd_full_access on[root@nsl ~]# sed -i s#enforcing#disabled#g /etc/sysconfig/selinux[root@nsl ~]# setenforce 0 && getenforce[root@nsl ~]# getenforce

7、重启FTP服务

[root@nsl ~]# systemctl restart vsftpd.service

至此,FTP其实就已经搭建成功,可以登录了!

8、访问测试

查看IP地址
[root@nsl ~]# ip addr

注意:

  • 云服务器的ip地址为公网ip地址
  • 虚拟机的ip地址为NAT模式下的固定ip地址,下图用的就是固定ip
  • 192.168.159.128/24是虚拟机的ipv4的ip地址
    在这里插入图片描述
新建测试文件
# 进入之前设置好的路径[root@nsl ~]# cd /data/ftp/ftpuser/upload# 新建测试文件,然后保存退出[root@nsl ~]#  vim 测试_20220712.txt[root@nsl ~]# 
浏览器访问测试
  • ftp命令
[root@nsl ~]# ftp 192.168.10.110Connected to 192.168.10.110 (192.168.10.110).220 (vsFTPd 3.0.2)Name (192.168.10.110:root): ftpuser331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> ls227 Entering Passive Mode (192,168,10,110,251,154).150 Here comes the directory listing.drwxr-xr-x    2 1002     50           4096 Aug 15 14:26 upload226 Directory send OK.ftp> cd upload250 Directory successfully changed.ftp> ls227 Entering Passive Mode (192,168,10,110,250,171).150 Here comes the directory listing.-rw-r--r--    1 0        0              12 Aug 15 14:26 测试_20220712.txt226 Directory send OK.ftp> exit221 Goodbye.[root@nsl ~]#
  • lftp
# 格式:lftp 用户名:密码@ftp地址:传送端口(默认21)[root@nsl ~]# lftp ftpuser:ftppassword@192.168.10.110:21lftp ftpuser@192.168.10.110:~> lsdrwxr-xr-x    2 1002     50           4096 Aug 15 14:26 uploadlftp ftpuser@192.168.10.110:/> cd upload/lftp ftpuser@192.168.10.110:/upload> ls-rw-r--r--    1 0        0              12 Aug 15 14:26 测试_20220712.txtlftp ftpuser@192.168.10.110:/upload> exit[root@nsl ~]# 

最后就是访问测试的结果了,我就懒得展示了。
最后就是访问测试的结果了,我就懒得展示了。
最后就是访问测试的结果了,我就懒得展示了。

来源地址:https://blog.csdn.net/heikehuaxioa/article/details/131167191

--结束END--

本文标题: CentOS7 安装搭建FTP服务器

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

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

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

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

下载Word文档
猜你喜欢
  • CentOS7 安装搭建FTP服务器
    CentOS7 安装搭建FTP服务器 1、FTP简介2、关闭防火墙3、安装FTP软件包4、新建用户和FTP目录5、配置ftp服务器6、重启并配置防火墙7、重启FTP服务8、访问测试 1...
    99+
    2023-09-16
    服务器 运维 linux
  • centos7怎么搭建ftp服务器
    要在CentOS 7上搭建FTP服务器,可以按照以下步骤进行操作: 安装vsftpd软件包:打开终端并输入以下命令安装vsftp...
    99+
    2023-10-23
    centos7 服务器
  • CentOS7 安装配置FTP服务器详解
    CentOS7 安装配置FTP服务器详解 1、FTP简介 ftp(File Transfer Protocol文件传输协议)是基于TCP/IP 协议的应用层协议,用于文件的传输,包括ftp服务器(或服...
    99+
    2023-08-31
    linux centos
  • centos7搭建gitlab服务器搭建
    在当今的技术领域,代码管理和版本控制变得越来越重要。为了组织和管理代码,越来越多的开发团队开始使用GitLab进行代码管理。GitLab是一个流行的基于Git的开源代码管理平台,提供了多种功能,例如版本控制、问题跟踪、CI/CD等。在本篇文...
    99+
    2023-10-22
  • centos搭建FTP服务器
    在LINUX虚拟机上,使用vsftpd搭建一个FTP服务器,并创建一个用户名为“ftpuser”的用户,使用windows主机通过ftp向文件夹中复制一个名为自己姓名首字母的txt文件,拍照上传文...
    99+
    2023-09-02
    服务器 linux 运维
  • Python搭建FTP服务器
    Python版本 3.6.2 使用的ftp包:pyftpdlib    pip install pyftpdlib就可以下载安装了 FTP协议下载上传文件在文件过大的情况下会比HTTP更具有优势,更为方便的实现断点上传和进度监控,下面是官...
    99+
    2023-01-31
    服务器 Python FTP
  • 云服务器搭建ftp服务器
    搭建云服务器的硬件需求 首先需要考虑的是云服务器所需的硬件设备。通常情况下,云服务器需要具备以下硬件设备: 1) 服务器主板:负责服务器的硬件设备,如CPU、内存、硬盘等; 2) 网络设备:用于连接云服务器与其他网络服务提供商,如Wi...
    99+
    2023-10-27
    服务器 ftp
  • FTP服务器的搭建(Linux)
    摘要: FTP(File Transfer Protocol)即文件传输协议,是一种基于TCP的协议,采用客户/服务器模式。通过FTP协议,用户可以在FTP服务器中进行文件的上传或下载等操作。虽然现在通过HTTP协议下载的站点有很多,...
    99+
    2024-01-21
    服务器 linux 网络
  • Linux下搭建FTP服务器
    Linux下搭建FTP服务器 FTP协议:文件传输协议(File Transfer Protocol) 协议定义了一个在远程计算机系统和本地计算机系统之间传输文件的一个标准FTP运行在OSI模型的应用...
    99+
    2023-09-06
    linux 服务器 网络
  • svn Linux centos7 服务器搭建
    鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结系统环境:Centos 6.5第一步:通过yum命令安装svnserve,...
    99+
    2023-06-06
  • 【FTP工具】- Win10下免费的FTP服务器搭建 - FileZilla 的下载、安装、使用
    目录 一、概述二、下载、安装2.1 下载2.2 安装 三、FileZilla服务器的使用3.1 连接服务器3.2 配置用户权限 四、在windows访问该Ftp服务器4.1 查看Ftp...
    99+
    2023-08-31
    服务器 php apache
  • windows怎么搭建ftp服务器
    要在Windows上搭建FTP服务器,您可以按照以下步骤进行操作:1. 打开控制面板并选择"程序"。2. 在"程序和功能"下,点击"...
    99+
    2023-10-10
    Windows
  • 云服务器安装ftp
    如果您需要在云服务器上安装ftp客户端,您需要先安装ftp客户端软件。FTP客户端软件需要您的计算机上有一个可以上网的网络适配器,例如路由器或互联网连接。 以下是在云服务器上安装FTP客户端的步骤: 准备所需的软件和网络适配器设备:您需...
    99+
    2023-10-26
    服务器 ftp
  • filezilla怎么搭建ftp服务器
    要搭建FTP服务器,您可以使用FileZilla Server软件。以下是搭建FTP服务器的步骤: 下载并安装FileZilla...
    99+
    2024-04-09
    filezilla 服务器
  • python如何搭建FTP服务器
    这篇文章主要介绍了python如何搭建FTP服务器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、了解FTP服务器FTP(文件传输协议),运行在tcp洗衣上,使用两个端口,...
    99+
    2023-06-15
  • win7如何搭建ftp服务器
    本文小编为大家详细介绍“win7如何搭建ftp服务器”,内容详细,步骤清晰,细节处理妥当,希望这篇“win7如何搭建ftp服务器”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。win7ftp服务器搭建方法:首先点击...
    99+
    2023-07-01
  • 腾讯云服务器搭建ftp
    腾讯云服务器搭建FTP,可以选择使用虚拟主机或者云服务器,具体需要根据您的实际要求和预算来决定。 选择适合自己的虚拟主机。虚拟主机有多种类型,包括vps、自建主机、云主机等,价格和性能都不一样,建议根据自己的需求来选择合适的配置。 选择...
    99+
    2023-10-26
    腾讯 服务器 ftp
  • 云服务器怎么搭建ftp
    云服务器搭建ftp的方法:下载 Xlight ftp服务器软件安装在电脑主机上,运行后,就可以在界面中可以创建、修改、管理虚拟服务器。登录云服务器后,右键我的电脑打开“计算机管理”,添加一个新的用户,在用户列表中点击添加按钮,设置用户名、密...
    99+
    2024-04-02
  • Linux FTP服务器如何搭建
    这篇文章主要介绍Linux FTP服务器如何搭建,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!首先我们看一下主要配置文件如下:/etc/VSFTPd/VSFTPd.conf 主配置文件/etc/VSFTPd.FTPu...
    99+
    2023-06-17
  • CentOS7服务器如何搭建NGINX
    小编给大家分享一下CentOS7服务器如何搭建NGINX,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!nginx的yum源安装文档:http://nginx.org/en/linux_packages.html安装方式创建...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作