热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

CentOS6.9中搭建FTP服务器的方法

这篇文章主要介绍了CentOS6.9中搭建FTP服务器的方法,需要的朋友可以参考下

1 基本环境


2 ftp工作模式

2.1 ftp通道

ftp工作会启动两个通道:

控制通道,数据通道

在ftp协议中,控制连接均是由客户端发起的,而数据连接有两种模式:port模式(主动模式)和pasv(被动模式)

2.2 port模式

在客户端需要接收数据时,ftp_client(大于1024的随机端口)----port命令-----ftp_server(21)发送port命令,这个port命令包含了客户端是用什么端口来接收数据(大于1024的随机端口),在传送数据时,ftp_server将通过自己的tcp 20端口和port中包含的端口建立新的连接来传送数据。

2.3 pasv模式

传送数据时,ftp_client---pasv命令---ftp_server(21)发送pasv命令时,ftp_server自动打开一个1024--5000之间的随机端口并且通知ftp_client在这个端口上传送数据,然后客户端向指定的端口发出请求连接,建立一条数据链路进行数据传输。

3 安装vsftp

# rpm -qa vsftpd   #检查是否已安装
# yum -y install vsftpd
# chkconfig --level 35 vsftpd on   #设置开机自启动
# chkconfig --list|grep vsftpd    #检查开机是否是自动启动

4 ftp文件说明

# rpm -ql vsftpd
/etc/logrotate.d/vsftpd    #vsftpd的日志文件
/etc/pam.d/vsftpd      #PAM认证文件
/etc/rc.d/init.d/vsftpd    #启动脚本
/etc/vsftpd         #vsftpd的配置文件存放目录
/etc/vsftpd/ftpusers     #禁止使用vsftpd的用户列表文件
/etc/vsftpd/user_list     #禁止或允许使用vsftpd的用户列表文件
/etc/vsftpd/vsftpd.conf    #ftp的主配置文件
/etc/vsftpd/vsftpd_conf_migrate.sh   #vsftpd操作的一些变量和设置
/var/ftp         #匿名用户目录
/var/ftp/pub       匿名用户的下载目录

5 配置ftp

5.1 vsftpd.conf文件参数说明

黄色部分为添加的,红色为修改的

anonymous_enable=NO    #是否开启匿名登录
local_enable=YES       #是否允许本地用户登录
write_enable=YES       #是否允许上传
local_umask=022        #默认的umask码
dirmessage_enable=YES     #是否显示目录说明文件
xferlog_enable=YES       #是否记录ftp传输过程
connect_from_port_20=YES   #是否确定端口传输来自20
xferlog_std_format=YES     #是否使用标准的ftp xferlog模式
chroot_list_enable=YES      #是否将系统用户限制在自己的home目录下
chroot_list_file=/etc/vsftpd/chroot_list  #列表不受限制的用户
listen=YES            #是否开启监听
pam_service_name=vsftpd     #服务名称
userlist_enable=YES
tcp_wrappers=YES

5.2 关闭selinux

# setenforce 0
# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

6 创建虚拟用户

6.1 创建一个用户

创建用户后修改用户的shell为nologin,让用户不能登录系统,只能使用ftp之内的服务

# useradd -d /home/ftp/test -g ftp -s /sbin/nologin test
# echo 123456|passwd --stdin test #设置密码

6.2 将用户test添加到chroot_list中

# touch /etc/vsftpd/chroot_list 
# echo test >>/etc/vsftpd/chroot_list

6.3 启动vsftp服务

# /etc/init.d/vsftpd start

6.4 登陆ftp方式

6.4.1 文件夹登陆

在文件夹路径框输入:ftp://10.0.0.8 按回车登陆                                            

6.4.2 浏览器登陆

浏览器里输入ftp://10.0.0.8/    输入用户名test和密码123456进行测试

6.4.3 cmd命令行登陆

打开windows cmd窗口输入:ftp 10.0.0.8 按回车输入用户名和密码登陆

6.4.4 第三方客户端登陆

比如xftp客户端登陆

7 其他参数说明

max_client=100       #vsftpd最大支持链接数100个ip
max_per=5         #每个ip能支持的5个链接
local_max_rate=81920     #限制传输速度
listen_address=ip       #绑定某个ip到vsftpd,只允许该ip访问
xferlog_file=/var/log/vsftpd.log  #日志存放位置

8 常见报错

8.1 报错1

[root@oldboyedu45-wang ~]# service vsftpd start

为 vsftpd 启动 vsftpd:500 OOPS: bad bool value in config file for: chroot_list_enable                                                           [失败]

此报错时由于chroot_list_enable后面有空格导致的

总结

以上所述是小编给大家介绍的CentOS6.9中搭建FTP服务器的方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!


推荐阅读
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 本文探讨了服务器系统架构的性能评估方法,包括性能评估的目的、步骤以及如何选择合适的度量标准。文章还介绍了几种常用的基准测试程序及其应用,并详细说明了Web服务器性能评估的关键指标与测试方法。 ... [详细]
  • WebBenchmark:强大的Web API性能测试工具
    本文介绍了一款名为WebBenchmark的Web API性能测试工具,该工具不仅支持HTTP和HTTPS服务的测试,还提供了丰富的功能来帮助开发者进行高效的性能评估。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 如何在Mozilla Firefox中调整GIF动画的循环次数
    本文介绍了如何通过调整Mozilla Firefox的高级设置来控制GIF动画的播放次数,帮助用户根据个人喜好自定义浏览体验。 ... [详细]
  • CentOS7通过RealVNC实现多人使用服务器桌面
    背景:公司研发团队通过VNC登录到CentOS服务器的桌面实现软件开发工作为防止数据外泄,需要在RealVNC设置禁止传输文件、访问粘贴板等策略过程&# ... [详细]
  • 本文详细介绍了如何在 CentOS 7 及其衍生发行版(如 Red Hat, Oracle, Scientific Linux 7)上安装和完全卸载 GitLab。包括安装必要的依赖关系、配置防火墙、安装 GitLab 软件包以及常见问题的解决方法。 ... [详细]
  • centos 7.0 lnmp成功安装过程(很乱)
    下载nginx[rootlocalhostsrc]#wgethttp:nginx.orgdownloadnginx-1.7.9.tar.gz--2015-01-2412:55:2 ... [详细]
  • Linux 防火墙与端口管理必备命令
    在使用 Linux 系统进行服务部署和问题排查时,防火墙和端口管理是不可或缺的操作。本文将详细介绍如何查看防火墙状态、端口占用情况,以及如何开放和关闭端口,帮助初学者更好地掌握这些技能。 ... [详细]
  • 在使用 PyInstaller 将 Python 应用程序打包成独立的可执行文件时,若项目中包含动态加载的库或插件,需要正确配置 --hidden-import 和 --add-binary 参数,以确保所有依赖项均能被正确识别和打包。 ... [详细]
  • 本文详细介绍如何在华为鲲鹏平台上构建和使用适配ARM架构的Redis Docker镜像,解决常见错误并提供优化建议。 ... [详细]
  • Centos7 Tomcat9 安装笔记
    centos7,tom ... [详细]
  • CentOS 7 默认安装了 MariaDB,作为 MySQL 的一个分支。然而,出于特定需求,我们可能仍需在系统中安装 MySQL。本文将详细介绍如何通过 Yum 包管理器在 CentOS 7 上安装 MySQL,并提供一些常用的 MySQL 命令。 ... [详细]
author-avatar
_Terr1鄭x宜_F
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有