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服务器的方法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
本文向大家介绍Centos7搭建FTP服务器,包括了Centos7搭建FTP服务器的使用技巧和注意事项,需要的朋友参考一下 从网上搜索了好多搭建Centos7搭建服务器的教程都没有成功唯独这个,利用Windows资源管理器连接测试成功。 一、通过yum安装vsftpd yum install -y vsftpd 二、修改vsftpd的配置文件 vi /etc/vsftpd/vsftpd.conf
本文向大家介绍Python搭建FTP服务器的方法示例,包括了Python搭建FTP服务器的方法示例的使用技巧和注意事项,需要的朋友参考一下 Python版本 3.6.2 使用的ftp包:pyftpdlib pip install pyftpdlib就可以下载安装了 FTP协议下载上传文件在文件过大的情况下会比HTTP更具有优势,更为方便的实现断点上传和进度监控,下面是官方文档中的 基本方法
本文向大家介绍Android 快速搭建FTP服务器的方法,包括了Android 快速搭建FTP服务器的方法的使用技巧和注意事项,需要的朋友参考一下 一、概述 打开你的手机,找到文件管理->分类->远程管理,点击启动服务,这样大家可以在局域网内使用电脑访问你手机上的文件了,当然你也可以设置账号和密码,防止“小人”共享你手机上的资源-.-,那如果自己动手,该如何实现这个小功能呢? 二、实现 1、导
本文向大家介绍Shell脚本搭建FTP服务器(vsftpd),包括了Shell脚本搭建FTP服务器(vsftpd)的使用技巧和注意事项,需要的朋友参考一下 各种知识点都写在注释里。 只需要 sudo $PATH/ftpsetup.sh即可,默认以test/test为用户名密码登录,登录后的根目录只读,子目录writable可写。 Ubuntu 13和Linux Mint 15上测试ok。
本文向大家介绍CentOS7搭设FTP服务器的方法步骤,包括了CentOS7搭设FTP服务器的方法步骤的使用技巧和注意事项,需要的朋友参考一下 FTP 主要用于文件传输,在 Linux 上一般用 vsftpd 来实现,通过搭设 FTP 服务器,可以实现文件的共享,至少比坑爹的某度网盘强多了。 搭设 FTP 服务器有三种可选的认证方式:匿名认证、本地用户认证、虚拟用户认证,安全性:匿名认证<本地用户
本文向大家介绍详解在Linux中搭建一个FTP服务器,包括了详解在Linux中搭建一个FTP服务器的使用技巧和注意事项,需要的朋友参考一下 在Linux中搭建一个ftp服务器,以供两个工作小组保管文件使用。禁用匿名。第一个小组使用ftp账号:ftp1,工作目录在:/var/ftp/ftp1;第二个小组使用ftp2,工作目录在:/var/ftp/ftp2。 两个小组互相不能访问各自的文件,需要限制用