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

CentOS7 安装配置FTP服务器详解

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

CentOS7 安装配置FTP服务器详解

CentOS7 安装配置FTP服务器详解

1、FTP简介

ftp(File Transfer Protocol文件传输协议)是基于TCP/IP 协议的应用层协议,用于文件的传输,包括ftp服务器(或服务端)和ftp客户端

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

2、关闭防火墙

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

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

3、安装FTP软件包

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

查看是否已经安装了vsftpd

# 如果没有返回任何结果,表示没有安装;如果返回文件包名,这表示已经安装了该服务;[root@centos7 ~]# rpm -qa|grep vsftpdvsftpd-3.0.2-29.el7_9.x86_64               # 代表已安装[root@centos7 ~]# vsftpd -versionvsftpd: version 3.0.2                      # 代表已安装[root@centos7 ~]# rpm -e vsftpd            # 卸载vsftpd# 再次检查[root@centos7 ~]# rpm -qa|grep vsftpd[root@centos7 ~]# vsftpd -versionbash: vsftpd: 未找到命令...

开始安装vsftpd

  • 安装ftp服务器
# 如果已经安装,再次执行yum就会把软件包升级到最新版本[root@centos7 ~]# yum install -y vsftpd
  • 安装ftp客户端
[root@centos7 ~]# yum install -y ftp lftp
  • 设置为开机自动启动服务
[root@centos7 ~]# systemctl enable vsftpd.service 
  • 启动vsftpd服务
# ftp服务器的服务名是vsftpd,相关的操作如下:[root@centos7 ~]# systemctl start  vsftpd.service      # 启动服务systemctl stop  vsftpd.service        # 停止服务systemctl restart vsftpd.service      # 重启服务systemctl status vsftpd.service       # 查看服务状态systemctl enable vsftpd.service       # 设置开机自启动vsftpd服务systemctl disable vsftpd.service      # 禁用开机自启动vsftpd服务

4、新建用户和FTP目录

ftpuser是你为该ftp服务创建的用户名,/data/ftp/ftpuser为ftp服务器访问路径

  • 新建FTP目录并授权
# 创建文件目录mkdir -p /data/ftp/ftpuser# 为该目录配置权限chmod -R 755 /data/ftp/ftpuser

如果我们直接使用useradd -d ftpuser,则新建的用户是可以登录系统的,这样会给FTP服务器带来安全隐患

因此我们为了不让FTP用户登录系统,就必须为FTP用户统一创建一个不能登录系统的shell,这一行的命令只运行一次即可,后面新建用户就不需要执行了

echo /usr/bin/nologin>>/etc/shells
  • 新建ftp组及用户
# 新建用户组ftpgroupadd ftp# 指定用户主目录:/data/ftp/ftpuser -M# 指定用户的shell: -s /usr/bin/nologin# 新建用户ftpuser,并且设置不支持ssh系统登录,只能登录ftp服务器# -g 用户组; -d 指定家目录; -s 不能登陆系统; -M 不创建家目录useradd -g ftp -d /data/ftp/ftpuser -M -s /usr/bin/nologin ftpuser==============================================================# 如果要恢复ftpuser用户的ssh登录(可登入CentOS7系统),执行下面的语句即可usermod -s /bin/bash ftpuser
  • 设置密码
# echo "新密码" | passwd --stdin 用户名echo "ftppassword" | passwd --stdin ftpuser
  • 新建FTP用户可写目录
# 由于/data/ftp/ftpuser的用户是root,其它用户都没有写的权限# 所以要在该目录下新建一个目录用于文件的上传下载mkdir -p /data/ftp/ftpuser/uploadchown ftpuser:ftp /data/ftp/ftpuser/uploadchmod 755 /data/ftp/ftpuser/upload

5、配置ftp服务器

备份配置文件

# 防止后期配置文件出错后无法还原[root@centos7 ~]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.backup[root@centos7 ~]# cd /etc/vsftpd/[root@centos7 ssh]# ll......-rw------- 1 root root 5116 610 2021 vsftpd.conf-rw------- 1 root root 5116 815 22:05 vsftpd.conf.backup......

编辑配置文件

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

vim /etc/vsftpd/user_list

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

在这里插入图片描述

注意:

这个是允许登录ftp的名单,一行一个用户,不能把多个写到一行

修改用户切换目录的权限

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

例如:

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

6、重启并配置防火墙

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

7、重启FTP服务

systemctl restart vsftpd.service

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

8、访问测试

查看IP地址

ip addr

注意:

  • 云服务器的ip地址为公网ip地址
  • 虚拟机的ip地址为NAT模式下的固定ip地址,下图用的就是固定ip

在这里插入图片描述

新建测试文件

# 进入之前设置好的路径[root@centos7 ~]# cd /data/ftp/ftpuser/upload# 新建测试文件,然后保存退出[root@centos7 upload]# vim 测试_20220712.txt[root@centos7 upload]#

浏览器访问测试

在这里插入图片描述

终端访问测试

  • ftp命令
[root@centos7 ~]# 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@centos7 ~]#
  • lftp命令
# 格式:lftp 用户名:密码@ftp地址:传送端口(默认21)[root@centos7 ~]# 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@centos7 ~]# 

参考网址:

CentOS7安装及配置vsftpd (FTP服务器)

CentOS7配置ftp服务

FTP上传和下载文件名称中文乱码问题

来源地址:https://blog.csdn.net/weixin_45688268/article/details/126337169

免责声明:

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

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

CentOS7 安装配置FTP服务器详解

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

下载Word文档

猜你喜欢

centOS7下Spark安装配置教程详解

环境说明: 操作系统: centos7 64位 3台 centos7-1 192.168.190.130 master centos7-2 192.168.190.129 slave1
2022-06-04

阿里云服务器FTP配置详解

阿里云服务器的FTP配置对于企业来说至关重要,它可以帮助我们实现数据的远程传输和管理。本文将详细解释阿里云服务器的FTP配置步骤和注意事项。阿里云服务器的FTP配置步骤如下:步骤1:首先,我们需要登录到阿里云服务器的控制台。步骤2:在控制台中,我们找到并点击“安全组”选项,然后选择“新建安全组”。步骤3:在安全组
阿里云服务器FTP配置详解
2023-11-03

Ubuntu下怎么安装和配置FTP服务器

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

CentOS7上怎么安装和配置Apache服务器

安装Apache服务器:打开终端,并使用以下命令安装Apache服务器:sudo yum install httpd安装完成后,启动Apache服务器并设置开机自启动:sudo systemctl start httpdsudo syst
CentOS7上怎么安装和配置Apache服务器
2024-04-09

CentOS7系统中如何配置ftp服务

这篇文章主要讲解了“CentOS7系统中如何配置ftp服务”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CentOS7系统中如何配置ftp服务”吧!1.下载vsftpdyum install
2023-06-27

CentOS7中怎么安装和配置Nginx服务器

要在CentOS7上安装和配置Nginx服务器,可以按照以下步骤进行:更新系统包:sudo yum update安装Nginx:sudo yum install nginx启动Nginx服务:sudo systemctl start ngi
CentOS7中怎么安装和配置Nginx服务器
2024-04-09

Centos7下nginx的安装与配置教程详解

说明:软件安装的基础目录路径:/usr/local 所以下载软件的时候切换到此目录下下载直接解压即可 1.安装gcc gcc-c++依赖包 yum install -y gcc gcc-c++ 2.下载编译安装PCRE库 切换到usr/lo
2022-06-04

CentOS7中怎么安装和配置OpenSSH服务器

要在CentOS7中安装和配置OpenSSH服务器,可以按照以下步骤进行操作:使用yum包管理器安装OpenSSH服务器:sudo yum install openssh-server启动OpenSSH服务器并设置开机自启动:sudo sy
CentOS7中怎么安装和配置OpenSSH服务器
2024-04-09

Kali Linux中如何安装和配置FTP服务器

在Kali Linux中安装和配置FTP服务器,可以使用vsftpd(Very Secure FTP Daemon)工具。以下是安装和配置vsftpd的步骤:安装vsftpd:在终端中输入以下命令来安装vsftpd:sudo apt-ge
Kali Linux中如何安装和配置FTP服务器
2024-04-25

如何在Ubuntu上安装并配置FTP服务器

在Ubuntu上安装和配置FTP服务器有很多种方法,最常用的是使用vsftpd(Very Secure FTP Daemon)。以下是在Ubuntu上安装和配置vsftpd的步骤:打开终端并更新软件包列表:sudo apt update安装
如何在Ubuntu上安装并配置FTP服务器
2024-04-09

如何在CentOS中安装和配置FTP服务器

在CentOS中安装和配置FTP服务器需要进行以下步骤:安装FTP服务器软件:在终端输入以下命令安装vsftpd软件包:sudo yum install vsftpd启动FTP服务器并设置开机自启动:sudo systemctl start
如何在CentOS中安装和配置FTP服务器
2024-04-09

CentOS8.0 安装配置ftp服务器的实现方法

CentOS8.0-1905发布后,尝zSfbnqaVO试将FTP服务器迁移至新版本的CentOS中,但是测试过程中,在防火墙中开放ftp服务后,仍然一直无法连接,如果使用lftp或ftp工具测试,
2022-06-04

如何在CentOS7系统中配置ftp服务

本篇内容主要讲解“如何在CentOS7系统中配置ftp服务”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何在CentOS7系统中配置ftp服务”吧!1.下载vsftpdyum install
2023-06-05

阿里云服务器配置及安装详解

阿里云服务器是一款云上运行的高性能、高可用的计算服务,可以满足多种业务场景的需求。本文将详细阐述如何配置阿里云服务器并进行安装。一、阿里云服务器配置登录阿里云控制台首先,你需要登录阿里云控制台。在浏览器中输入"www.aliyun.com",然后输入你的账号和密码进行登录。选择实例类型在控制台首页,你可以看到"实
阿里云服务器配置及安装详解
2023-11-21

centos 5 yum如何安装与配置vsFTPd FTP服务器

本篇文章为大家展示了centos 5 yum如何安装与配置vsFTPd FTP服务器,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。什么是vsftpd vsftpd是一款在Linux发行版中最受推崇的
2023-06-10

CentOS7服务器环境下vsftpd安装及配置方法

本文实例讲述了CentOS7服务器环境下vsftpd安装及配置方法。分享给大家供大家参考,具体如下: 0x:卸载vsftpd[root@localhost ~]# yum remove vsftpd [root@localhost ~]#
2022-06-04

编程热搜

目录