FTP服务
1.ftp定义
FTP是File Transfer Protocol(文件传输协议)的简称
2.vsftpd
提供ftp协议的软件是vsftpd
3.部署ftp服务
1.安装服务端vsftpd服务
yum install vsftpd -y
2.安装客户端lftp服务
yum install lftp -y
3.开启服务端vsftpd,并开机自启
systemctl start vsftpd
systemctl enable vsftpd
4.查看防火墙状态,如果是关闭状态,打开防火墙
systemctl start firewalld
5.防火墙设置
firewall-cmd --permanent --add-service=ftp
在火墙开启状态下,永久添加ftp服务。
firewall-cmd --reload
重新加载火墙服务
6.检测
lftp 172.25.254.166,ls可以看到内容则说明服务器端已经开启vsftpd服务
4.准备工作
SELinux支持三种模式
Enforcing:强制模式,代表SElinux运行中,且已经正确的开始限制demain/type了;
Permissive:宽容模式
Disable:关闭,SELinux并没有实际运行
为了不影响后边测试,将其关闭
vim /etc/sysconfig/selinux
修改disabled
设置完后reboot重启虚拟机
重启后查看是否修改成功
5.FTP服务的使用
1.用户的访问方式:
匿名用户访问
服务端上的本地用户身份登陆
lftp 172.25.254.166 以匿名身份登陆,默认登录的是/var/ftp/
创建一个新用户tony
lftp 172.25.254.166 -u tony 以tony的本地用户身份登陆,登陆的是本地用户的家目录/home/tony
2. 报错id的解析:
500文件系统权限过大
530认证失败,系统服务器不给你登陆或者登陆过程有问题
550服务本身不开放这个功能
553本地文件系统权限过小
3.
vim /etc/vsftpd/vsftpd.conf ##修改配置文件
anonymous_enable=YES|NO ##匿名用户是否可以登陆
local_enable=YES|NO ##本地用户是否可以登陆
write_enable=YES|NO ##ftp是否对登陆用户可写
systemctl restart vsftpd ##修改完后重启
vim /etc/vsftpd/vsftpd.conf ##修改配置文件
anonymous_enable=NO ##匿名用户不可以登陆
修改完重启systemctl restart vsftpd 。发现匿名用户无法登录ftp
修改配置文件 anonymous_enable=YES ##匿名用户可以登陆
修改完重启systemctl restart vsftpd ,发现匿名用户可以登录ftp了
vim /etc/vsftpd/vsftpd.conf ##修改配置文件
local_enable=NO ##本地用户不可以登陆ftp
修改完重启systemctl restart vsftpd 。发现本地用户无法登录ftp530 ##用户认证失败,系统服务器不给本地用户登录
vim /etc/vsftpd/vsftpd.conf ##修改配置文件
local_enable=YES ##本地用户可以登陆ftp
修改完重启systemctl restart vsftpd ,发现本地用户可以登录ftp了
vim /etc/vsftpd/vsftpd.conf ##修改配置文件
write_enable=NO ##ftp是否对登陆用户不可写
修改完重启systemctl restart vsftpd,ftp对登陆用户不可写550服务本身不开放这个功能
vim /etc/vsftpd/vsftpd.conf ##修改配置文件
write_enable=YES ##ftp是否对登陆用户可写
修改完重启systemctl restart vsftpd,ftp对登陆用户可写。
4.匿名用户上传
匿名用户默认是没有上传权限的550服务本身不开放匿名用户上传这个功能
vim /etc/vsftpd/vsftpd.conf ##修改配置文件
write_enable=YES
anon_upload_enable=YES
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub ##修改权限
匿名用户可以在/var/ftp/pub上传了,注意是在pub目录下,因为修改用户权限的时是修改的pub目录,只对pub下的目录或者文件起作用
5.匿名用户家目录修改
匿名用户默认登录的家目录是/var/ftp/
创建准备要修改的用户家目录
vim /etc/vsftpd/vsftpd.conf ##修改配置文件
anon_root=/ttt
修改完重启systemctl restart vsftpd,匿名用户登录的家目录修改成了/ttt
6.匿名用户建立目录
anon_mkdir_write_enable=YES |NO ##匿名用户可否建立目录
默认匿名用户是无法建立目录的
vim /etc/vsftpd/vsftpd.conf ##修改配置文件
anon_mkdir_write_enable=YES ##匿名用户可以建立目录
修改完重启systemctl restart vsftpd,匿名用户可以建立目录
7.匿名用户删除文件
anon_other_write_enable=YES|NO ##匿名用户可否删除文件
vim /etc/vsftpd/vsftpd.conf ##修改配置文件
anon_other_write_enable=YES ##匿名用户可以删除文件
修改完重启systemctl restart vsftpd,匿名用户可以删除文件
8.匿名用户下载
anon_world_readable_only=YES|NO ##设定参数值为no表示匿名用户可以下载
vim /etc/vsftpd/vsftpd.conf ##修改配置文件
anon_world_readable_only=NO ##匿名用户可以下载
9.匿名用户最大上传速率
anon_max_rate=204800
不限速的情况下上传速度很快
vim /etc/vsftpd/vsftpd.conf ##修改配置文件
anon_max_rate=204800 ##设置匿名用户上传速率最大为204800
限速之后匿名用户上传速度降到很低
10.匿名用户最大链接数imax
vim /etc/vsftpd/vsftpd.conf ##修改配置文件
max_clients=1 ##用户最大链接数为1,即只允许一个用户登录ftp
修改完重启systemctl restart vsftpd。只允许一个用户登录ftp
11.本地用户家目录修改
local_root=/directory
创建一个/local
vim /etc/vsftpd/vsftpd.conf ##修改配置文件
local_root=/local
修改完重启systemctl restart vsftpd。登录本地用户的家目录修改
12.本地用户上传文件权限
local_umask=xxx
13.限制本地用户登陆
黑白名单文件
vim /etc/vsftpd/ftpusers —用户黑名单
在黑名单上的用户永远登陆不了ftp
将test用户写进用户黑名单
test用户无法登录ftp
vim /etc/vsftpd/user_list —用户临时黑名单
将tony用户加入用户临时黑名单
tony用户无法登录ftp
用户白名单设定
vim /etc/vsftpd/vsftpd.conf
userlist_deny=NO
systemctl restart vsftpd
/etc/vsftpd/user_list 原来临时黑名单上的用户变成白名单,在白名单上的用户可以登陆ftp