CentOS6.9中搭建FTP服务器

简介:

基本环境

系统版本

IP地址

安装方式

ftp版本

CentOS6.9

10.0.0.8

yum

vsftpd-2.2.2-24

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在这个端口上传送数据,然后客户端向指定的端口发出请求连接,建立一条数据链路进行数据传输。

安装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             匿名用户的下载目录

配置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.1 创建一个用户

创建用户后修改用户的shellnologin,让用户不能登录系统,只能使用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客户端登陆

其他参数说明

max_client=100              #vsftpd最大支持链接数100ip

max_per=5                  #每个ip能支持的5个链接

local_max_rate=81920         #限制传输速度

listen_address=ip              #绑定某个ipvsftpd,只允许该ip访问

xferlog_file=/var/log/vsftpd.log   #日志存放位置

常见报错

8.1 报错1

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

 vsftpd 启动 vsftpd500 OOPS: bad bool value in config file for: chroot_list_enable

                                                           [失败]

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




本文转自 茁壮的小草 51CTO博客,原文链接:http://blog.51cto.com/wn2100/2068640,如需转载请自行联系原作者

相关文章
|
1月前
|
SQL 分布式计算 DataWorks
DataWorks常见问题之dataworks连接FTP服务器失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
2月前
|
缓存 关系型数据库 MySQL
百度搜索:蓝易云【CentOS8服务器安装MySQL报错:no match mysql-community-server】
现在,你已经成功安装了MySQL服务器并解决了"no match mysql-community-server"的报错问题。祝你使用愉快!
42 1
|
3月前
|
Linux
CentOS7.9服务器一键脚本部署FRP内网穿透服务端与客户端
CentOS7.9服务器一键脚本部署FRP内网穿透服务端与客户端
210 0
|
3月前
|
Linux 网络安全
CentOS7服务器SSH登陆时自动显示服务器基础信息
CentOS7服务器SSH登陆时自动显示服务器基础信息
42 0
|
3月前
|
Ubuntu 安全 网络安全
百度搜索:蓝易云【Ubuntu系统搭建FTP服务器教程】
现在,你已经成功在Ubuntu系统上搭建了FTP服务器。你可以使用FTP客户端连接到你的FTP服务器,并上传、下载文件。注意,为了安全起见,建议配置SSL/TLS加密以保护数据传输。
63 0
|
3月前
|
存储 运维 程序员
快速搭建一个FTP服务器
快速搭建一个FTP服务器
56 0
|
1月前
|
存储 网络协议 安全
如何搭建外网可访问的Serv-U FTP服务器,轻松远程共享文件!
如何搭建外网可访问的Serv-U FTP服务器,轻松远程共享文件!
|
1月前
|
Oracle 关系型数据库 Linux
服务器Centos7 静默安装Oracle Database 12.2
服务器Centos7 静默安装Oracle Database 12.2
68 0
|
1月前
|
存储 弹性计算 Linux
阿里云ECS(CentOS镜像)安装docker
阿里云ECS(CentOS镜像)安装docker
372 0
|
2月前
|
Java
java上传、下载、预览、删除ftp服务器上的文件
java上传、下载、预览、删除ftp服务器上的文件