使用vsftp服务传输文件
11.1 文件传输协议FTP
FTP(File Transfer Protocol)是一种在互联网中进行文件传输协议,基于客户端/服务器模式,实现在不同的操作系统平台间的数据传输。
默认端口:
20(数据端口):用来传输数据
21(命令端口):用于接受客户端发出的相关FTP命令与参数
主动模式:FTP服务器主动向客户羰发起连接请求。(可以突破防火墙的限制)
被动模式:FTP服务器等待客户端发起连接请求(FTP的默认的工作模式)
11.2 vsftpd服务程序
vsftpd(very secure ftp daemon 非常安全的FTP守护进程)是基于FTP协议开发的Linux系统上的服务程序。
第一步:通过YUM仓库进行安装
番外:yum仓库的部署
1、创建一个文件夹:mkdir /media/cdrom
2、将安装光盘挂载到新文件夹
mount /dev/cdrom /media/cdrom
3、配置yum仓库文件、安装vsftpd程序
vim /etc/yum.repo.d/yum.d/****.repo
[rhtel7]
name=rhtel7
baseurl=file:///media/cdrom
enable=1
gpgcheck=0
yum install vsftpd
第二步:配置VSFTPD的主配置文件(/etc/vsftpd/vsftpd.conf)
去掉配置文件中的注释,方便查看配置项目。
[root@localhost vsftpd]# mv vsftpd.conf vsftpd.conf_bak
#使用搜索命令,将“不带”有#号的行截取出来
[root@localhost vsftpd]# grep -v "#" vsftpd.conf_bak > vsftpd.conf
[root@localhost vsftpd]# cat vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
配置信息 | 策略 |
---|---|
anonymous_enable=YES | 允许匿名用户 |
annon_umask=022 | 限制匿名用户的权限 |
anon_upload_enable=YES | 允许匿名用户上传文件 |
anon_mkdir_write_enable=YES | 匿名用户创建目录和写入权限 |
anon_other_write_enable=YES | 匿名用记的其他权限 |
local_enable=YES | 允许本地账户访问(服务器端注册过的用户) |
write_enable=YES | 允许写入 |
local_umask=022 | 文件权限反掩码,默认是022,实际值=文件权限值-mask,w=2其实是将写权限给删除了。 |
dirmessage_enable=YES | 目录提示信息 |
xferlog_enable=YES | 开启日志 |
connect_from_port_20=YES | 使用20端口传输 |
xferlog_std_format=YES | 以标准形式写入日志 |
listen=NO | 以独立的形式来运行vsftp程序 |
listen_ipv6=YES | 支持IPV6 |
pam_service_name=vsftpd | pam可插拔式安全模块 |
userlist_enable=YES | 死亡笔记 ftpusers userlist:在这两个文件里的用户不能登录 |
tcp_wrappers=YES | 开户tcp_wrappers防火墙 |
第三步:安装客户端工具ftp
yum install ftp
vsftpd服务允许三种用户模式:
匿名开放模式:无需密码,最不安全。但兼容性最好。
本地用户模式:服务器本地账户密码登录,较为安全。
虚拟用户模式:为FTP服务建立用户数据库文件,虚拟出来进行口令验证的账户信息,而这些账户信息与服务器本地登录用户并没有等同关系,仅供登录认证使用。
账户名称 | 登录后的目录 |
---|---|
匿名账户 | /var/ftp |
本地账户 | 对应用户的家目录/home/用户名 |
虚拟用户 | 映射用户的家目录 |