vsftpd的部署及优化

该博客详细介绍了如何在Linux环境下配置和管理FTP服务,包括安装vsftpd服务,设置防火墙规则,启用匿名用户访问,以及本地用户和虚拟用户的权限控制。涉及到的配置文件编辑、目录权限设置、上传下载限制、登陆控制等方面均进行了详尽说明,并提供了报错代码及其含义。此外,还阐述了虚拟用户访问的建立过程。
摘要由CSDN通过智能技术生成

目录

1.实验环境

2.ftp介绍

3.vsftpd安装及启用

1.安装ftp服务日软件

2.火墙管理

3.匿名用户的访问功能的启动

4.测试

4.vsftpd基本信息

5.匿名用户访问控制

5.1家目录的控制

5.2上传控制

5.3目录控制以及下载控制

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

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

5.6登陆数量及其上传速度

6.本地用户的访问

6.1登陆控制

6.2权限控制

6.3家目录控制

6.4用户登陆控制

6.4.1永久控制黑名单(ftpusers)

6.4.2临时控制黑名单与用户登陆白名单(user_list)

6.5家目录的访问控制

6.5.1锁定用户到自己的家目录中

6.5.2锁定用户到自己的家目录中白名单(/etc/vsftpd/chroot-list)

6.5.3锁定用户到自己的家目录中黑名单(/etc/vsftpd/chroot-list)

7.虚拟用户访问

7.1建立虚拟用户过程


1.实验环境

 server主机(服务端)client主机(客户端)
名称westosawestosb
ip172.25.254.112172.25.254.212
selinux(关闭)(关闭)
火墙设置开启 
dnf安装设定完成安装设定完成
  安装lftp #ftp协议文本浏览器
 

 

 

 

 

 

 

 

 

2.ftp介绍

  • 互联中最老牌的文件传输协议,全称:file transfer proto

3.vsftpd安装及启用

1.安装ftp服务日软件

dnf install vsftpd  lftp -y     :服务端
systemctl enable --now vsftpd :服务启动
dnf install lftp -y     :客户端

 

2.火墙管理

systemctl enable --now firewalld 
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload 

 

3.匿名用户的访问功能的启动

vim /etc/vsftpd/vsftpd.conf  编辑配置文件
12 anonymous_enable=YES      编辑内容
systemctl restart vsftpd

 

4.测试

lftp 172.25.254.112
lftp 172.25.254.212

4.vsftpd基本信息

服务名称vsftpd.service
配置目录/etc/vsftpd
主配置文件/etc/vsftpd/vsftpd.conf
默认发布目录/var/ftp

 

 

 

 

 

报错信息及其代码
550程序本身拒绝
553文件系统权限限制
500权限过大
530认证失败

 

 

 

 

 

5.匿名用户访问控制

  • lftp 172.25.254.212 :当访问ftp服务时没有加入用户认证为匿名访问
  • lftp 172.25.254.212 -u westos :本地用户访问
  • 登陆控制:vim /etc/vsftp/vsftpd.conf 编辑配置文件,内容:anonymous_enable=YES(允许匿名用户登陆)|NO(不允许匿名用户登陆)
  • 配置文件编辑之后。均需要重启:systemctl restart vsftp

5.1家目录的控制

mkdir  /var/ftp/westos1  新建目录
vim /etc/vsftp/vsftpd.conf 编辑配置文件,内容:anon_root=/var/ftp/westos1
systemctl restart vsftp 服务重启

 

5.2上传控制

vim /etc/vsftp/vsftpd.conf 编辑配置文件,内容:anon_upload_enable=YES(允许)|NO(不允许)
测试中会出现553报错,故需要更改上传目录所有组及权限:
chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub

 

 

5.3目录控制以及下载控制 (均需要vim /etc/vsftp/vsftpd.conf )

  • 目录建立控制 :anon_mkdir_write_enable=YES|NO
  • 下载控制 :anon_world_readable_only=NO
  • 删除重命令控制:anon_other_write_enable=YES|NO

5.4匿名用户上传文件权限设定 (需要vim /etc/vsftp/vsftpd.conf )

  • anon_umask=xxx (例如022,则上传文件的预留权限阀值为:777-022-111=644)
  • 注:当设定匿名用户上传文件的用户身份之后上传文权限将不是用此参数设定

5.5匿名用户上传文件的用户身份设定(需要vim /etc/vsftp/vsftpd.conf )

  • chown_uploads=YES
  • chown_username=westos :用户身份
  • chown_upload_mode=0644  :上传文件的预留权限阀值为644

 

5.6登陆数量及其上传速度 (均需要vim /etc/vsftp/vsftpd.conf )

  • max_clients=2 :登陆数量限制为2(默认为50)
  • anon_max_rate=102400 上传速度最大值为100kb每秒

6.本地用户的访问

6.1登陆控制

用户创建:
useradd lee
useradd zl
用户密码:
echo lee | passwd --stdin lee
echo zl | passwd --stdin zl
编辑配置文件:vim /etc/vsftp/vsftpd.conf ,内容:
local_enable=NO|YES
服务重启:systemctl restart vsftp

 

6.2权限控制(均需要vim /etc/vsftp/vsftpd.conf )

  • 写权限控制 :write_enable=NO(不允许)|YES(允许)
  • 上传文件权限控制 :local_umask=077 :默认保留权限为:077

6.3家目录控制 (需要vim /etc/vsftp/vsftpd.conf )

mkdir /var/ftp/westosdir 新建目录
vim /etc/vsftp/vsftpd.conf 编辑配置文件,内容:
local_root=/westosdir   家目录
systemctl restart vsftp 服务重启

 

6.4用户登陆控制

 

6.4.1永久控制黑名单(ftpusers)

  • 任何用户出现在名单中,均不可登陆,且优先级最高
  • 通过:vim  /etc/vsftpd/ftpusers ,编辑名单

6.4.2临时控制黑名单与用户登陆白名单(user_list)

  • 通过:vim  /etc/vsftpd/ user_list),编辑临时控制黑名单
  • 临时控制黑名单可转换成用户登陆白名单,通过:vim /etc/vsftp/vsftpd.conf ,编辑内容为:userlist_deny=NO
  • 用户登陆白名单为仅有名单中的用户可以登陆

6.5家目录的访问控制(均需要vim /etc/vsftp/vsftpd.conf )

6.5.1锁定用户到自己的家目录中

  • chmod u-w /home/* :为了不让所用用户对自己的家目录有写的权力
  • chroot_local_user=YES

6.5.2锁定用户到自己的家目录中的白名单(/etc/vsftpd/chroot-list)

  • chroot_local_user=YES
  • chroot_list_enable=YES
  • chroot_list_file=/etc/vsftpd/chroot_list

6.5.3锁定用户到自己的家目录中的黑名单(/etc/vsftpd/chroot-list)

  • chroot_local_user=NO
  • chroot_list_enable=YES
  • chroot_list_file=/etc/vsftpd/chroot_list

7.虚拟用户访问

7.1建立虚拟用户过程

  1. 建立认证文件模板:vim /etc/vsftpd/auth_file ,编辑内容为:用户+密码
  2. 加密认证文件 :db_load -T -t hash -f auth_file auth_file.db :(-T :转换 , -t :type ,-f 指定转换文件)
  3. 编辑认证策略(vim /etc/pam.d/westos_auth)
accountrequiredpam_userdb.sodb=/etc/vsftpd/auth_file
用户账号认证通过拒绝错误认证认证用户名单
authrequiredpam_userdb.sodb=/etc/vsftpd/auth_file
用户密码认证通过拒绝错误认证认证用户名单

 

 

 

 

 

      4.编辑配置文件:vim /etc/vsftpd/vsftpd.conf

  • pam_service_name=westos    :指定认证策略文件
  • guest_enable=YES        :指定虚拟用户功能开启
  • guest_username=ftp      :指定虚拟用户在ftp服务器上的用户身份

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值