目录
一. FTP介绍
1.FTP:File Transfer Proto 文件传输协议,是TCP/IP协议组中的协议之一。
2.FTP协议包括两部分,FTP 服务器 和 FTP客户端
3. FTP服务器用来存储文件,FTP客户端通过FTP协议访问位于FTP服务器上的资源。
二. vsftpd 安装
关闭selinux
关闭firewalld
测试安装发布
firefox ftp://ip
lftp ip ##此访问方式必须能列出资源才算访问成功
三. vsftpd基本信息
四. 匿名用户访问控制
lftp 192.168.0.10 ##当访问ftp服务时没有加入用户认证为匿名访问
lftp 192.168.0.10 -u westos ##本地用户访问
# vim /etc/vsftpd/vsftpd.conf
登陆控制
anonymous_enable=YES|NO
家目录控制
anon_root=/software
上传控制
anon_upload_enable=YES|NO
chmod 777 /var/ftp/pub
lftp 192.168.0.10
cd pub
put /etc/passwd
下载控制
anon_world_enable_only=NO ##匿名用户可以下载不能读的文件
目录建立控制
anon_mkdir_write_enable=YES|NO
删除重命令控制
anon_other_write_enable=YES|NO
登陆数量控制
max_clients=2
上传速率控制
anon_max_rate=102400
五. 本地用户的访问
登陆控制
useradd westos
useradd lee
echo lee | passwd --stdin westos
echo lee | passwd --stdin lee
lftp 192.168.0.10 -u westos
local_enable=NO|YES
家目录控制
local_root=/software
写权限控制
write_enable=NO|YES
上传文件权限控制
local_umask=077
用户登陆控制:
/etc/vsftpd/ftpusers ##永久黑名单
/etc/vsftpd/user_list ##默认黑名单(默认是黑名单,可被设定为白名单)
用户登陆白名单:
userlist_deny=NO #设定/etc/vsftpd/user_list为白名单
#不在名单中的用户不能登陆ftp
锁定用户到自己的家目录中:
chmod u-w /home/*
chroot_local_user=YES
锁定用户到自己的家目录中的白名单(白名单:chroot_list中的用户不锁定,默认用户锁定到家目录)
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
锁定用户到自己的家目录中的黑名单(黑名单:chroot_list中的用户锁定,默认用户不锁定)
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
六.虚拟用户访问
1.建立虚拟用户过程
建立认证文件模板
注意里面不能有空格
加密认证文件
编写认证策略
修改配置文件
pam_service_name=westos ##指定认证策略文件
guest_enable=YES ##指定虚拟用户功能开启
guest_username=ftp ##指定虚拟用户在ftp服务器上的用户身份
2.虚拟用户家目录的独立设定
测试
3.用户配置独立
user_config_dir=/etc/vsftpd/user_config ##在此目录中与用户名称相同的文件为用户配置文件
mkdir /etc/vsftpd/user_config
vim/etc/vsftpd/user_config/westos2
anon_upload_enable=YES
设定完成后westos2用户可以上传文件
westos1和westos3不行