什么是ftp?
ftp(file transfer proto)是互联网中最老牌的文件传输协议。
实验环境:
主机:westos_node1
ip:172.25.254.20; selinux关闭; 火墙开启; dnf安装设定完毕;
客户机:westos_node1
ip:172.25.254.10; selinux关闭; dnf安装设定完成; 安装ftp
实验1:
dnf install vsftpd -y
##关闭selinux
systemctl enable --now firewalld
systemctl enable --now vsftpd
firewalld -cmd --permanent --add -source=172.25.254.10 --zone=trusted
systemctl restart firewalld
vim /etc/vsftpd/vsftpd.conf
##12 anonymous_enable=YES
systemctl restart vsftpd
##测试:
lftp ip ##此访问方式必须能列出资源才能访问
##在使用完成后,请输入exit退出lftp
ftpd的基本信息有哪些?
服务名称:vsftpd.service
配置目录:/etc/vsftpd
主配置文件:/etc/vsftpd/vsftpd.conf
默认发布目录:/var/ftp
报错信息:
550 程序本身拒绝 553 文件系统权限限制 500 权限过大 530 认证失败
匿名用户访问的控制
lftp 172.25.254.20 ##当访问ftp服务时,没有加入用户认证为匿名访问
lftp 172.25.254.20 -u westos ##本地用户访问
实验2:
vim /etc/vsftpd/vsftpd.conf ##修改主配置文件
chmod 777 /var/ftp/pub
lftp 172.25.254.20
cd pub
put /etc/passwd ##上传文件
登录控制
anonymous_enable=YES|NO
家目录控制
anon_root=/westosdir
上传控制
anon_upload_enable=YES|NO
目录建立控制
anon_mkdir_write_enable=YES|NO
下载控制
anon_world_readable_only=NO ## 匿名用户可以下载不能读的文件
删除重命令控制
anon_other_write_enable=YES|NO
匿名用户上传文件权限设定
anon_umask=xxx anon_umask=022 ## 当设定chown_username之后上传文件权限将不是用此参数设定
匿名用户上传文件的用户身份设定
chown_upload=YES chown_username=lee chown_upload_mode=0644
登陆数量和上传速率的控制
max_clients=2 anon_max_rate=102400
本地用户访问
useradd westos
useradd lee
echo 123 | passwd --stdin westos
echo 123 | passwd --stdin lee
lftp 172.25.254.20 -u westos
登陆控制
local_enable=NO|YES
家目录控制
local_root=/software
写权限控制
write_enable=NO|YES
上传文件权限控制
local_umask=077
锁定用户到自己的家目录中
chmod u-w /home/* chroot_local_user=YES
锁定用户到自己家目录中的白名单
chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list
锁定用户到自己家目录的黑名单
chroot_local_user=NO chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list
用户登录控制
永久黑名单:/etc/vsftpd/ftpusers
默认黑名单:/etc/vsftpd/user_list
用户登录白名单
userlist_deny=NO ##设定/etc/vsftpd/user_list为白名单 ##不在名单中的用户不能登录ftp