赞
踩
FTP是 File Transfer Protocol 文件传输协议的简称。
VSFTP是 Very Security FTP 的缩写,即非常安全的文件传输协议。
VSFTP服务器用户的实现有以下三种形式:
匿名用户模式:默认安装时,系统支持允许匿名用户访问,默认为FTP用户,客户端登陆时输入的用户是anonymous,对应的服务器工作目录是 /var/ftp 。
本地用户模式:在文件 /etc/passwd 中的用户登录。
虚拟用户模式:用户名和口令保存在数据库文件中,只能访问FTP服务器提供的资源。
FTP的文件传输模式:
ASCII模式:适合文本传输。如果文件包含简单的ASCII码文本,在跨操作系统传输时,会将文件解析成客户端可以存储的文本文件格式;如果是非文本文件,解析很可能出错。要切换该模式,在客户端命令行输入 ascii 即可。
二进制模式:适合程序、数据库、字处理文件和压缩文件的传输。要切换该模式,在客户端命令行输入 bin 即可。
FTP的两种工作模式:
主动模式:客户端通过命令端口M发送请求,与服务端的21端口建立连接;当客户端需要传输数据时,便在通道M发送PORT命令给服务端,PORT包括了客户端接收数据的数据端口N;服务端通过数据端口20连接到客户端指定的数据端口N发送数据。
被动模式:客户端通过命令端口M发送请求,与服务端的21端口建立连接;当客户端需要传输数据时,便在该通道M发送PASV命令给服务端;服务端随机打开一个数据端口X,并通过PORT命令告诉客户端让其连接X端口;客户端打开数据端口N连接服务端的数据端口X,然后进行数据传输。
由此可见,主动模式和被动模式是对于服务端来说的。前者是服务端主动开放20端口,进行数据传输;后者是服务端随机开放端口,等待客户端的主动连接,被动接受数据传输的工作。
参数 | 第一个主机 | 第二个主机 |
---|---|---|
IP | 10.0.0.100 | 10.0.0.101 |
主机名 | canway | canway02 |
操作系统版本 | CentOS Linux release 7.9.2009 (Core) | CentOS Linux release 7.9.2009 (Core) |
内核 | 3.10.0-1160.el7.x86_64 | 3.10.0-1160.el7.x86_64 |
作用 | VSFTP服务端 | VSFTP客户端 |
selinux | 关闭 | 关闭 |
防火墙firewalld | 关闭 | 关闭 |
此处选择最简单的yum安装方式,前提是检查yum源配置是否无误。
yum install -y vsftpd
首先对原配置文件进行备份,防止误操作后无法还原。
[root@canway ~]# cd /etc/vsftpd/
[root@canway vsftpd]# cp vsftpd.conf vsftpd.conf.bak
然后开启FTP上传下载的记录日志。
删掉下面两个参数的前面的#号,去掉注释,使其生效。
xferlog_enable=YES
xferlog_file=/var/log/xferlog
接着允许匿名用户对服务端进行上传文件,创建目录和写入文件。
anon_upload_enable=YES
anon_mkdir_write_enable=YES
匿名用户登录模式下,在客户端登录到服务端后,服务端访问的用户是ftp用户,而ftp用户的默认主目录是 /var/ftp/pub ,该目录的属主用户是 root ,因此ftp用户没有权限在该目录下进行访问与文件的创建(传输),所以需要授权。
chown -R ftp /var/ftp/pub
接着启动vsftpd服务,使其开机自动启动,并检查服务状态。
[root@canway vsftpd]# systemctl start vsftpd
[root@canway vsftpd]# systemctl enable vsftpd
[root@canway vsftpd]# systemctl status vsftpd
经过检查,服务启动成功。
接着尝试通过匿名用户的模式进行文件传输。
在本地Windows主机,使用 Windows+R 键,打开cmd命令
然后将需要上传到 10.0.0.100 服务端的文件放在当前目录下,我要传输的文件名是 test.txt
接着输入用户名anonymous和空密码,即可登录到服务端。
匿名用户登陆系统后,默认的初始位置在 /var/ftp 目录下。
接着进入 /var/ftp/pub 目录下,将Windows的test.txt文件传输到该目录下。
检查文件是否传输成功。
在Windows中,除了cmd命令,也可以通过filezilla这个第三方软件进行传输。
此处使用普通用户连接到服务端进行文件传输。
首先创建用户user01,并设置密码123456.
[root@canway pub]# useradd user01
[root@canway pub]# echo 123456|passwd user01 --stdin
Changing password for user user01.
passwd: all authentication tokens updated successfully.
接着给用户授权,让其可以在 /var/ftp/pub 目录下创建文件。
[root@canway pub]# chown -R user01 /var/ftp/pub/
然后打开 filezilla 软件,输入主机IP,用户名,密码,即可连接。
然后用鼠标,将文件拖拽至相应的目录,即可进行文件传输。
与Windows到Linux的命令基本一致,不过要首先检查一下客户端是否有ftp命令。
如果没有该命令,只需要yum安装即可。
yum install -y ftp
接着使用ftp命令与服务端建立连接,进行文件传输即可。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。