Linux中Vsftpd服务的部署及优化

实验环境

selinux关闭:(设置完成需重启)
vim /etc/sysconfig/selinux
在这里插入图片描述

ftp介绍

ftp:file transfer proto(文件传输通道)
互联网中最老牌的文件传输协议

vsftpd安装及启用

在server中:
dnf install vsftpd -y
在这里插入图片描述
systemctl enable --now firewalld
systemctl enable --now vsftpd
在这里插入图片描述
firewalld -cmd --permanent --add-service=ftp
firewalld -cmd --permanent --add-source=172.1.36.101 --zone=trusted
systemctl restart firewalld 或 firewalld-cmd --reload
在这里插入图片描述
在这里插入图片描述
vim /etc/vsftpd/vsftpd.conf
12 anonymous_enable=YES 启动匿名用户的访问功能
在这里插入图片描述
systemctl restart vsftpd
配置完成
在这里插入图片描述
550 ##程序本身拒绝
553 ##文件系统权限限制
500 ##权限过大
530 ##认证失败(密码错误、匿名登录未开启)

匿名用户访问控制

vim /etc/vsftpd/vsftpd.conf
第12行的NO改为YES
systemctl restart vaftp
此时所有用户可访问
在这里插入图片描述

家目录控制

vim /etc/vsftpd/vsftpd.conf
写入anon_root=/westos
systemctl restart vsftpd
在这里插入图片描述

上传控制

vim /etc/vsftpd/vsftpd.conf
将29行的 anon_upload_enable=YES的注释打开
systemctl restart vsftpd
在这里插入图片描述

chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub
在这里插入图片描述
lftp 172.25.254.225
cd pub
put /etc/passwd
此时passwd就上传了
在这里插入图片描述

目录建立控制

vim /etc/vsftpd/vsftpd.conf
将33行的anon_mkdir_enable=YES的注释打开
systemctl restart vsftpd
在这里插入图片描述
此时可以建立目录
lftp 172.25.254.225
cd pub
mkdir westos
在这里插入图片描述

匿名用户可以下载不能读的文件删除重命令控制

vim /etc/vsftpd/vsftpd.conf
在13行添加anon_other_write_enable=YES
systemctl restart vsftpd
在这里插入图片描述

此时可以删除
lftp 172.25.254.225
cd pub
rm -fr passwd
在这里插入图片描述

下载控制

vim /etc/vsftpd/vsftpd.conf
写入anon_world_readable_only=NO
systemtl restart vsftpd
在这里插入图片描述
lftp 172.25.254.225
cd pub
put /etc/passwd
get passwd
在这里插入图片描述

匿名用户上传文件权限设定

vim /etc/vsftpd/vsftpd.conf
anon_umask=022
systemctl restart vsftpd

在这里插入图片描述
在这里插入图片描述

匿名用户上传文件的用户身份设定

vim /etc/vsftpd/vsftpd.conf
chown_upload=YES
chown_username=westos ##所有匿名用户在服务器上生成的文件都以westos的身份生成
chown_upload_mode=0644 ##设定文件权限
systemctl restart vsftpd
在这里插入图片描述

此时新上传的文件拥有者和权限都已改变
在这里插入图片描述

登陆数量控制

vim /etc/vsftpd/vsftpd.conf
添加max_clients=2 ##最多同时允许两台登陆
systemctl restart vaftpd
在这里插入图片描述
在这里插入图片描述

上传速率控制

vim /etc/vsftpd/vsftpd.conf
anon_max_rate=102400 ##最大上传速率为100kb/s
systemctl restart vsftpd
在这里插入图片描述
此时上传速率已被限制
在这里插入图片描述

本地用户的访问

建立新用户
useradd linux
echo westos | passwd --stdin linux
su - linux
touch linuxfile
su - westos
touch westosfile
在这里插入图片描述

lftp 172.25.254.225 -u westos/linux 两个用户都可登陆
在这里插入图片描述

vim /etc/vsftpd/vsftpd.conf
将21行的local-enable=YES 改为NO
systemctl restart vsftpd
在这里插入图片描述
此时两个用户都不可登陆
在这里插入图片描述

家目录控制

vim /etc/vsftpd/vsftpd.conf
local_root=/westosdir ##将家目录修改为westosdir
systemctl restart vsftpd、
在这里插入图片描述
此时家目录已经改变
在这里插入图片描述

写权限控制

vim /etc/vsftpd/vsftpd.conf
将25行的write_enable=YES改为NO
systemctl restart vsftpd
在这里插入图片描述
此时将不能写(上传等操作不能执行)
在这里插入图片描述

上传文件权限控制

vim /etc/vsftpd/vsftpd.conf
local_umask=077 ##此时上传的文件权限为777-077=600
systemctl restart vsftpd
在这里插入图片描述
此时上传的文件权限变为600
在这里插入图片描述

锁定用户到自己的家目录中(不可浏览/目录)

没做任何操作之前可以任意浏览/目录
在这里插入图片描述
vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES ##此时所有用户都被锁定到自己的家目录中,为NO时解锁
systemctl restart vsftpd
chmod u-w /home/*
在这里插入图片描述
在这里插入图片描述

此时无法浏览/目录
在这里插入图片描述

锁定用户到白名单

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
在这里插入图片描述
然后在/etc/vsftpd/chroot_list中写入westos
systemctl restart vsftpd
在这里插入图片描述
此时除了westos其他用户都不能访问/目录
在这里插入图片描述
在这里插入图片描述

锁定用户到黑名单

chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
在这里插入图片描述
然后在/etc/vsftpd/chroot_list中写入westos
systemctl restart vsftpd
在这里插入图片描述
此时除了westos其他用户都可以访问/目录
在这里插入图片描述
在这里插入图片描述

用户登陆控制

/etc/vsftpd/ftpusers ##永久黑名单
在此配置文件中写入的用户不管做什么操作都不能登陆
在这里插入图片描述
在这里插入图片描述
/etc/vsftpd/user_list ##默认黑名单
在此配置文件中写入的用户不能登陆
在这里插入图片描述
在这里插入图片描述

用户白名单

vim /etc/vsftpd/vsftpd.conf
添加 user_list_deny=NO ##写入此命令后/etc/vsftpd/user_list就变成了白名单
systemctl restart vsftpd
在这里插入图片描述
此时只有在/etc/vsftpd/user_list这个配置文件里的用户才能登陆
在这里插入图片描述
westos用户可以登录
在这里插入图片描述
Linux用户不能登录
在这里插入图片描述

虚拟用户访问

1.建立虚拟用户
vim /etc/vsftp/auth_file
user1
123
user2
123
user3
123
在这里插入图片描述
2.加密文件
db_load -T -t hash -f auth_file auth_file.db
在这里插入图片描述
3.vim /etc/pam.d/westos
account required pam_userdb.so db=/etc/vsftpd/auth_file
auth required pam_userdb.so db=/etc/vsftpd/auth_file
在这里插入图片描述
4.vim /etc/vsftpd/vsftpd.conf
pam_service_name=westos
guest_enable=YES
guest_username=ftp
systemctl restart vsftpd
在这里插入图片描述
此时lftp 172.25.254.225 -u westos 不能登陆
在这里插入图片描述
lftp 172.25.254.225 -u user1
lftp 172.25.254.225 -u user2
lftp 172.25.254.225 -u user3
都可以登陆
在这里插入图片描述

虚拟用户家目录独立

mkdir -p /ftpuserdir/ftpuser{1…3}
touch /ftpuserdir/ftpuser1/user1file
touch /ftpuserdir/ftpuser2/user2file
touch /ftpuserdir/ftpuser3/user3file
在这里插入图片描述
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserdir/ U S E R u s e r s u b t o k e n = USER user_sub_token= USERusersubtoken=USER
systemctl restart vsftpd在这里插入图片描述
lftp 172.25.254.225 -u user1
lftp 172.25.254.225 -u user2
登陆时虚拟用户家目录独立

用户配置独立

vim /etc/vsftpd/vsftpd.conf
注释anon_upload_enable=YES
添加user_config_dir=/etc/vsftpd/westos_conf
systemctl restart vsftpd
在这里插入图片描述
mkdir /etc/vsftpd/westos_conf
touch /etc/vsftpd/westos_conf/user1
在这里插入图片描述
vim /etc/vsftpd/westos_conf/user1
在这里插入图片描述
lftp 172.25.254.225 -u user1
lftp 172.25.254.225 -u user2
lftp 172.25.254.225 -u user3
此时,只有user1可以上传,其余两个不能上传
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值