#########################
1.ftp介绍
#########################
ftp:file transfer proto
互联阿中最老牌的文件传输协议
#########################
2.vsftpd安装
#########################
流程:
m install vsftpd -y
关闭selinux
关闭firewalld
systemctl start vsftpd
systemctl enable vsftpd
测试安装发布:
firefox ftp://ip
lftp ip ##此访问方式必须能列出资源才算访问成功: ls
利用搭建好的共享仓库安装 lftp
访问成功。
#########################
3.vsftpd基本信息
#########################
服务名称: vsftpd.service
配置目录: /etc/vsftpd
主配置文件: /etc/vsftpd/vsftpd.conf
默认发布目录: /var/ftp
报错信息:
550 ##程序本身拒绝
553 ##文件系统权限限制
500 ##权限过大
530 ##认证失败
#########################
4.匿名用户访问控制
#########################
lftp 192.168.0.100 ##当访问ftp服务时没有加入用户认证为匿名访问
lftp 192.168.0.100 -u westos ##本地用户访问,可以看到用户的家目录
一、匿名用户登陆控制
anonymous_enable=YES|NO
设置为no后,匿名用户不可访问
二、家目录控制
默认匿名用户看到的目录是这个,如果我们想让匿名用户看到的内容为/software的内容,可以
添加这一行,然后我们在看到的就是/sofrware下的两个安装包了
三、上传控制
默认情况下上传会报错,因为不被允许,修改配置文件
还是不行,因为权限限制 /var/ftp/ 这个目录只对超级用户可写,所以修改权限
chmod 777 /var/ftp/pub
上传成功
四、下载控制
默认无法下载
anon_world_readable_only=NO ##匿名用户可以下载不能读的文件
下载成功
五、目录建立控制
默认不可建立
anon_mkdir_write_enable=YES|NO yes为可以建立
六、删除重命名控制
默认不能删除
anon_other_write_enable=YES|NO
删除和移动成功
七、登陆数量控制:
默认可以多个用户访问
max_clients=2 设置为最多两个登录
可见登录第三个时就不行了,只有前面有退出时才可以登录
八、上传速率控制
先截取一个100M的文件
其上传速率为:
anon_max_rate=102400
上传速率为100k左右,但此时本地用户没有被限速,可以尝试。
#########################
5.本地用户的访问
#########################
先建立westos ,thermal两个用户,并赋予密码
一、登陆控制
lftp 192.168.0.10 -u westos
local_enable=NO|YES
二、家目录控制
本地用户登录默认会登录到自己的家目录里面
更改配置文件: local_root=/software
三、写权限控制
write_enable=NO|YES ,NO为不可写,YES为可写
默认可建立和删除,上传和重命名,
四、上传文件权限控制
默认为022,且传输的文件权限为644
设置 local_umask=077
则上传的文件权限为600
五、用户登陆控制
/etc/vsftpd/ftpusers ##永久黑名单
在其中加入westos用户在,则其不可登录
/etc/vsftpd/user_list ##默认黑,可更改为白名单
也是登录失败
六、用户登陆白名单
userlist_deny=NO #设定 /etc/vsftpd/user_lis 为白名单#不在名单中的用户不能登陆ftp
加入westos用户
七、锁定用户到自己的家目录中
本地用户可以进入到根目录中,会有危险。
chmod u-w /home/* 避免发生冲突,所以减去w权限,不然无法登陆
chroot_local_user=YES
看出已经被限制到家目录中
八、锁定用户到自己的家目录中的白名单
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
此时编辑 chroot_list 文件,则里面的用户为白名单,可以访问 / 目录
则westos用户被白名单允许可以进入 / 目录,而 thermal 用户无法访问
九、锁定用户到自己的家目录中的黑名单
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
/etc/vsftpd/chroot_list 里面的用户为:
则westos用户被黑名单锁定到自己的家目录
#########################
6.虚拟用户访问
#########################
########1.建立虚拟用户过程########
1.vim /etc/vsftpd/ftp_auth_file #建立认证文件模板
2.db_load -T -t hash -f ftp_auth_file ftp_auth_file.db ##加密认证文
件 -T 转换 -t type -f 指定转换文件
3.vim /etc/pam.d/westos ##写认证策略文件
4.vim /etc/vsftpd/vsftpd.conf
pam_service_name=westos ##指定认证策略文件
guest_enable=YES ##指定虚拟用户功能开启
guest_username=ftp ##指定虚拟用户在ftp服务器上的用户身
份
然后我们尝试登录虚拟用户:
访问成功
#####虚拟用户家目录的独立设定#################
,让每个虚拟用户有自己的家目录,为了试验效果明显,建立下列文件。
mkdir /mnt/westos{1…3}
touch /mnt/westos1/westos1file
touch /mnt/westos2/westos2file
touch /mnt/westos3/westos3file
vim /etc/vsftpd/vsftpd.conf
local_root=/mnt/ $USER
user_sub_token=$USER ##沿用系统中$USER的用法
systemctl restart vsftpd ##重启服务
家目录设置成功
#########用户配置独立##############
在/mnt/下建立文件,并设置权限
mkdir ./westos{1…3}/pub
chmod 775 ./westos{1…3}/pub
chgrp ftp ./westos{1…3}/pub
然后每个用户在登录的时候就会获得一个pub目录,可以写东西进去,
anon_upload_enable=YES,开启这个参数后,虚拟用户都可以上传文件
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不行
则实验成功。
############# 第四五六节的内容在企业7和企业8中操作相同 ############