FTP协议介绍
FTP协议,即File TransferProtocol(文件传输协议),工作在TCP/IP模型的应用层,基于TCP的C/S模式。FTP的客户端和服务端的连接时可靠的,是面向连接的。我们通常会使用FTP服务来提供上传、下载资料等功能,为工作提供便捷。
实验环境
服务端—— 虚拟机:Lubuntu
客户端—— Windows 7 64位
服务端配置
#sudo apt-get install vsftpd
#mkdir /home/ftp
#sudo useradd –d /home/ftp –s /bin/bash <username>
#passwd <username>
输入密码并确认
#sudo vi /etc/vsftpd.conf
vsftpd.conf需要注意的内容,如果没有请手动输入
listen=YES // 监听端口
anonymous_enable=NO // 不允许匿名用户登录
local_enable=YES // 允许本地用户登录
write_enable=YES // 允许写入
chroot_local_user=YES
chroot_list_enable=YES // 限制用户在主目录之中
chroot_list_file=/etc/vsftpd.chroot_list // 限制的用户名
pam_service_name=vsftpd
local_root=/home/ftp
#sudo vi /etc/vsftpd.chroot_list
添加限制在主目录的FTP用户名,每个用户名之间需要换行
#service vsftpd restart
重启FTP服务
客户端使用方式
客户端访问FTP服务器的方式:
1. 使用浏览器,在地址导航栏输入ftp://<ip address>,输入用户名和密码;
2. 使用资源管理器,在地址栏输入ftp://<ip address>,输入用户名和密码;
3. 使用DOS命名行,输入ftp <ip address>,输入用户名和密码;
DOS下FTP命令 | 含义 |
open | 与服务器连接 |
cd | 切换目录 |
dir | 查看当前目录下所有的文件 |
put | 上传文件 |
get | 下载文件 |
delete | 删除文件 |
mput | 上传多个文件 |
mget | 下载多个文件 |
mdelete | 删除多个文件 |
bye | 断开连接 |
4. 使用FTP客户端软件,比如CuteFTP、LeapFTP等。
常见问题
当输入ftp <ip address>时提示ftp: connect: Connection refused. 直接将配置文件/etc/vsftpd.conf中的listen改为NO;
当出现一直无法登录时,可能是列表/etc/vsftpd.chroot_list中没有添加用户名;
客户端使用命令行上传文件时,显示的是路径发生了变化,而文件没有上传,可能是文件中含有空格导致的。