1.ftp定义
ftp:// ##文件传输协议
FTP(文件传输协议)是INTERNET上仍常用的最老的网络协议之一,它为系统提供了通过网络与远程服务器进行传输的简单方法在REDHAT ENTREPRISE LINUX6中。FTP服务器包的名称为VSFTPD,它代表Very Secure File TransferProtocol Damon 服务器名称也叫vsftpd
默认配置文件让ANONYMOUS用户只能下载位于GHROOT目录中的内容。/var/ftp/这意味着远程FTP客户端能以用户anonymous或ftp身份链接到服务器(无需密码),并从ftp服务器上的/var/ftp/目录下载文件(其他ftp用户可以读取这些文件)
2.部署ftp服务
环境搭建
yum install vsftpd -y ##服务端安装
yum install lftp -y ##客户端安装
systemctl start vsftpd
systemctl enable vsftpd
systemctl start firewalld
firewall-cmd --permanent --add-service=ftp ##使用命令让火墙允许ftp
firewall-cmd --reload
firewall-cmd --list-all ##查看火墙信息
*匿名用户登陆 :没有帐号密码的登陆
本地用户登陆 :ip -u 用户名
ftp服务的基本信息
默认发布目录:/var/ftp
协议接口:21/tcp
报错解析:
550服务本身功能未开放而拒绝
530认证失败
500权限过大
553权限过小,服务器文件系统拒绝
服务配置文件:/etc/vsftp/vsftpd.conf
<匿名用户修改目录>
anon_root=/directory
<匿名用户上传>
write_enable=YES
anon_upload_enable=YES
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub
<匿名用户上传文件默认权限修改>
anon_umask=xxx
<匿名用户建立目录>
anon_mkdir_write_enable=YES|NO
<匿名用户下载>
anno_world_readable_only=YES|NO ##设定参数为NO表示用户可以下载
<匿名用户删除>
anno_other_write_enable=YES|NO
权限过小
改权限
可以上传密码文件
man 5 vsftpd.conf查找命令
<匿名用户使用的用户身份修改>
chown_unload=YES ##上传权限
chown_username=westos ##指定拥有上传文件的权限的用户
chown_upload_node=0644 ##上传文件的权限
<最大上传速率>
anon_max_rate=102400 ##最大传输速度100M
(下载器可用这种方法限制用户下载速度,冲钱就可以变强)
<最大链接数>
max_clients=2 ##允许接入的最多用户数量
(其余人排队,可以用一台主机链接多次测量)
所有用户被锁定在自己家目录里
ftp家目录不能有写权限
限制本地用户浏览/目录
<本地用户登陆>
local_enable=YES|NO
<本地用户写权限限制>
write_enable=YES|NO
<本地用户家目录修改>
local_root=/directory
<所有用户被锁定到自己家目录中>
chroot_local_user=YES
chmod u-w /home/*
<用户黑名单的建立>
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
<用户白名单建立>
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
student添加黑名单
认证失败
限制本地用户登陆
vim /etc/vdftpd/ftpdusers ##用户黑名单
vim /etc/vsftpd/user_list ##用户临时黑名单
<用户白名单设定>
userlist_deny=NO ##deny no 双重否定黑名单变白名单
/etc/vsftpd/user_list ##参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆
ftpuser 黑名单 权限高
pam——插件检测
guest 开启用户功能和身份
ftp虚拟用户的设定
(1)检查权限和黑白名单
(2)创建虚拟帐号身份
vim /etc/vsftpd/westosfile ##文件名称任意
(3)
db_load -T -t hash -f /etc/vsftpd/westosfile /etc/vsftpd/westosfile.db
##db加密文件
cat userfile.db可以看到已经加密
vim /etc/pam.d/westos ##文件名称任意
vim /etc/vsftpd/vsftpd.conf
虚拟帐号身份指定
虚拟帐号配置独立
建立目录
用户的删除
anon_other_write_enable=YES