Vsftpd服务的部署及优化

本文详细介绍了如何在Linux系统中安装和配置FTP服务,包括关闭SELinux,开启vsftpd服务,设置匿名访问及权限控制,以及本地用户和虚拟用户的访问管理。重点讨论了vsftpd配置文件的参数调整,如匿名用户上传权限、家目录控制、上传速率限制等,并演示了虚拟用户的创建、认证文件加密和用户配置文件的设定,实现不同用户的个性化访问权限。
摘要由CSDN通过智能技术生成
1.ftp介绍

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

2.ftp安装
dnf install vsftpd.x86_64 lftp.x86_64 -y  #安装vsftpd服务
vim /etc/sysconfig/selinux  
7 SELINUX=disabled      #关闭selinux
systemctl enable --now vsftpd     #开启服务

vim /etc/vsftpd/vsftpd.conf 
///
12 anonymous_enable=NO-->YES         #改变参数允许匿名访问
///
firewall-cmd --permanent --add-service=ftp  #火墙添加ftp服务,永久开启
firewall-cmd --reload    #重启火墙

#匿名用户只能访问/var/ftp目录中的内容

3.vsftpd基本信息

服务名称:vsftpd.service
配置目录:/etc/vsftpd
主配置文件:/etc/vsftpd/vsftpd.conf
默认发布目录:/var/ftp
报错信息:
550 #程序本身拒绝
553 #文件系统权限限制
500 #权限过大
530 #认证失败

4.匿名用户访问控制

lftp 172.25.254.103 #当访问ftp服务时没有加入用户认证为匿名访问
lftp 172.25.254.103 -u westos #本地用户访问

mkdir /westosdir
chmod 775 /westosdir
chgrp ftp /westosdir

登陆控制:

anobymous_enable=YES|NO

上传控制;

anon_upload_enable=YES|NO

家目录控制:

anon_root=/westosdir   #指定访问目录为前面所建的westosdir

目录建立控制:
anon_mkdir_write_enable=YES|NO

下载控制:

anon_world_readable_enable=YES|NO   #匿名用户可以下载不能读的文件

删除命令控制:

anon_other_write_enable=YES|NO   #匿名用户可以删除文件

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

anon_umask=xxx
anon_umask=022   #当设定chown_username之后上传文件权限将不是用此参数设定

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

chown upload=YES   
chown_username=westos
chown_upload_mode=0644

登陆数量控制:

max_client=2

上传速率控制;

anon_max_rate=102400  (单位为kb)
5.本地用户的访问

建立本地用户资源

useradd zhang
echo 123456 | passwd --stdin zhang

lftp 172.25.254.103 -u zhang

家目录控制:

local_enable=NO|YES

上传文件权限控制

local_umask=077

用户登录控制:
ftpusers #永久黑名单
user_list #临时默认黑名单

用户登陆白名单:

userlist_deny=NO    #/设定/etc/vsftpd/user_list为白名单,不在名单中的用户不能登陆ftp

锁定用户到自己家目录的白名单:

vim /etc/vsftpd/vsftpd.conf
///
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
///

锁定用户到自己家目录的黑名单:

vim /etc/vsftpd/vsftpd.conf
///
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
///
6.虚拟用户访问

1.建立虚拟用户过程

vim /etc/vsftpd/westos_pam   #建立认证文件模板
///
user1
123
user2
123
user3
123
///


db_load -T -t hash -f westos_pam westos_pam.db     #加密认证文件   -T 转换  -t type -f 指定转换文件
 

vim /etc/pam.d/westos
/// 
account  required        pam_userdb.so       db=/etc/vsftpd/westos_pam
auth     required        pam_userdb.so       db=/etc/vsftpd/westos_pam
///

vim /etc/vsftpd/vsftpd.conf
/// 
pam_service_name=westos    #指定认证策略文件
userlist_enable=YES 
guest_enable=YES           #指定虚拟用户功能开启
guest_username=ftp         #指定虚拟用户在ftp服务器上的用户身份
///

2.虚拟用户家目录的独立设定

mkdir -p /ftphome/user{1..3}
touch /ftphome/user1/user1file
mkdir -p /ftphome/user1/pub
touch /ftphome/user2/user2file
mkdir -p /ftphome/user2/pub
touch /ftphome/user3/user3file
mkdir -p /ftphome/user3/pub

vim /etc/vsftpd/vsftpd.conf 
///
local_root=/ftphome/$USER
user_sub_token=$USER
///

3.用户配置独立:
指定用户上传文件:

mkdir /etc/vsftpd/westos
vim /etc/vsftpd/westos/user1
///
anon_upload_enable=YES
///
vim /etc/vsftpd/vsftpd.conf
///
user_config_dir=/etc/vsftpd/westos  #此目录中与用户名相同的文件为用户配置文件
systemctl restart vsftpd
///

设定完成后user1可以上传文件,user2,user3不能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值