#############
###ftp服务###
#############
#1.ftp的定义
ftp://##文件传输协议
#2.ftp协议提供的软件
在rhel7中:
vsftpd
在部署服务之前要修改两个配置文件并重启虚拟机
vim /etc/sysconfig/selinux
vim /etc/yum.repos.d/rhel_dvd.repo
修改完以后reboot重启
#3.部署ftp服务
yum install vsftpd -y
systemctl start vsftpd
systemctl enable vsftpd
firewalld-cmd --permanent --add-service=ftp
firewalld-cmd --reload
配置火墙策略,或者是直接关闭火墙
systemctl stop firewalld
测试
在真机中访问 lftp 172.25.254.144
可以ls列出一个pub文件
服务的基本信息
软件安装包: vsftpd
默认发布目录:/var/ftp
协议接口:21
#配置文件
vim /etc/vsftpd/vsftpd.conf
12 anonymous_enable=NO #匿名用户是否可以登陆
16 local_enable=NO #本地用户是否可以登陆
19 write_enable=NO #ftp是否对本地用户可写
报错解析
550服务本身不允许你作当前动作
530系统认证错误,密码错误之类
553本地文件系统权限太小
500文件系统权限太大
#匿名用户上传
vim /etc/vsftpd/vsftpd.conf #修改配置文件
29 anon_upload_enable=YES #匿名用户可写
systemctl restart vsftpd.service #重启服务
chgrp ftp /var/ftp/pub #把pub文件原有root组修改为ftp组
chmod 775 /var/ftp/pub #把pub文件权限修改为775
[root@node1 ~]# getenforce
Disabled #保证为disabled
#匿名用户家目录修改
mkdir /zzf 新建一个目录
touch /zzf/linux{1..3} 创建文件
vim /etc/vsftpd/vsftpd.conf修改配置文件
systemctl restart vsftpd.service 重启服务
anon_root=/zzf
在真机中访问虚拟机看到新建文件,测试成功
#匿名用户上传文件默认权限
anon_umask=022
#匿名用户建立目录
anon_mkdir_write_enable=YES
#匿名用户下载
anon_world_readable_only=YES
#匿名用户删除
anon_other_write_enable=YES
#匿名用户使用的身份用户
chown_uploads=YES
chown_username=student
#最大上传速率
anon_max_rate=204800
#最大链接数
max_clients=3
#本地用户家目录的修改
local_root=/zzf
#限制本地用户浏览根目录
所有用户被锁定到自己的家目录中
chroot_local_user=YES
chmod u-w /home/* #家目录不能可写否则500报错
用户黑名单的建立(名单上的被锁住)
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
限制本地用户登陆
vim /etc/vsftpd/ftpuser #永久黑名单
vim /etc/vsftpd/user_list #临时黑名单
默认情况下黑名单
用户白名单的设定
userlist_deny=NO
/etc/vsftpd/user_list #参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆
ftp虚拟用户的设定
创建虚拟账号身份 ,文件名可以任意
vim /etc/vsftpd/westosfile
db_load -T -t hash -f /etc/vsftpd/westosfile /etc/vsftpd/westosfile.db
vim /etc/pam.d/westos
修改配置文件