FTP协议占用两个端口号:vim
21端口:命令控制,用于接收客户端执行的FTP命令。安全
20端口:数据传输,用于上传、下载文件数据。、服务器
FTP数据传输的类型:spa
主动模式:FTP服务端主动向FTP客户端发起链接请求。rest
被动模式:FTP服务端等待FTP客户端的链接请求。blog
vsftpd程序提供的FTP服务可选认证方式,分别为匿名访问、本地用户和虚拟用户:ip
匿名访问:任何人无需验证口令便可登入FTP服务端。ci
本地用户:使用FTP服务器中的用户、密码信息。it
虚拟用户:建立独立的FTP账号资料。io
Vsftpd的程序与配置文件:
主程序 |
/usr/sbin/vsftpd |
用户禁止登录列表 |
/etc/vsftpd/ftpusers |
主配置文件 |
/etc/vsftpd/vsftpd.conf |
安装vsftpd服务程序
[root@liuxuanke-hbza ~]# yum install vsftpd -y
清空默认的防火墙默认规则:
[root@liuxuanke-hbza ~]# iptables -F
保存清空后的防火墙规则表:
[root@liuxuanke-hbza ~]# service iptables save
1、匿名访问模式
一、FTP匿名访问模式是比较不安全的服务模式,尤为在真实的工做环境中千万不要存放敏感的数据,以避免泄露。
vsftpd程序默认已经容许匿名访问模式,咱们要作的就是开启匿名用户的上传和写入权限,写入参数
[root@liuxuanke-hbza ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES 容许匿名访问模式
anon_umask=022 匿名用户上传文件的umask值
anon_upload_enable=YES 容许匿名用户上传文件
anon_mkdir_write_enable=YES 容许匿名用户建立目录
anon_other_write_enable=YES 容许匿名用户修改目录名或删除目录
二、确认填写正确后保存并退出vsftpd.conf文件,而后重启vsftpd服务程序并设置为开机自启动。
[root@liuxuanke-hbza ~]# systemctl restart vsftpd
[root@liuxuanke-hbza ~]# systemctl enable vsftpd
三、在客户机中添加ftp服务,ftp命令用于使用FTP服务,格式为:“ftp [参数] [FTP主机]”。
[root@bogon ~]# yum install ftp -y
[root@bogon ~]# ftp 192.168.10.100
上面操做中已经将防火墙规则清空,在vsftpd.conf文件中也已经容许匿名用户建立目录与写入权限,那怎么会被拒绝了呢?
因而返回服务端匿名访问模式的FTP根目录为/var/ftp:
[root@liuxuanke-hbza ~]# ls -ld /var/ftp/pub
drwxr-xr-x 2 root root 6 8月 3 2017 /var/ftp/pub
原来匿名用户的FTP根目录全部者/组都是root,因此匿名用户没有写入权限
[root@liuxuanke-hbza ~]# chown ftp /var/ftp/pub
再回到客户端试试
完成这个须要恢复快照
2、本地用户模式
一、本地用户模式确实要比匿名访问模式更加的安全,因此本实验中会关闭匿名访问模式。
vsftpd服务程序默认已经容许本地用户模式,咱们要作的是添加设置本地用户模式权限的参数:
[root@liuxuanke-hbza ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO 禁止匿名访问模式
local_enable=YES 容许本地用户模式
write_enable=YES 设置可写入权限
local_umask=022 本地用户模式建立文件的umask值
userlist_deny=YES 参数值为YES即禁止名单中的用户,参数值为NO则表明仅容许名单中的用户
userlist_enable=YES 容许“禁止登录名单”,名单文件为ftpusers与user_list
二、确认填写正确后保存并退出vsftpd.conf文件,而后重启vsftpd服务程序并设置为开机自启动。
[root@liuxuanke-hbza ~]# systemctl restart vsftpd
[root@liuxuanke-hbza ~]# systemctl enable vsftpd
三、咱们先来看下ftpusers或user_list文件中禁止登录用户名单:
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
vsftpd服务为了让FTP服务更加的安全,默认禁止以root身份登入,那么建立个普通用户吧:
[root@liuxuanke-hbza ~]# useradd liuxuanke
为liuxuanke用户设置密码:
[root@liuxuanke-hbza ~]# passwd liuxuanke
在客户机中尝试登入FTP服务