3_Vsftpd 服务的部署及优化


实验环境

  • server主机:

    • westos_node1
    • 172.25.254.250
    • selinux关闭
    • 火墙开启
    • dnf安装设定完成
  • client主机:

    • westos_linux
    • 172.25.254.100
    • selinux关闭
    • dnf安装设定完成
    • 安装lftp (ftp协议文本浏览器)

1.ftp介绍

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


2.vsftpd安装及启用

  • vsftpd安装及启用
    dnf install vsftpd -y			# server
    dnf install lftp -y			# client
    setenforce 0				# 关闭selinux
    systemctl disable --now firewalld 	# 关闭防火墙
    
    vim /etc/vsftpd/vsftpd.conf
    12 anonymous_enable=YES			## 启动匿名用户的访问功能
    
    systemctl restart vsftpd 
    
  • 测试安装发布
firefox ftp://ip
lftp ip			##此访问方式必须能列出资源才算访问成功
			##在使用完成后请输入exit推出lftp

3.vsftpd基本信息

  • 服务名称: vsftpd.service
  • 配置目录: /etc/vsftpd
  • 主配置文件: /etc/vsftpd/vsftpd.conf
  • 默认发布目录: /var/ftp
  • 报错信息:
    • 550:程序本身拒绝
    • 553:文件系统权限限制
    • 500:权限过大a
    • 530:认证失败
  • 默认端口及协议: tcp 20/21
    • 连接端口:21(等待客户端建立管理连接)
    • 数据端口:20(主动) 1025~65535(随机,被动)
  • 三类用户:
    • 本地用户:服务器上存在的用户
    • 匿名用户:匿名用户实际上有一个与之对应的系统用户 — “ftp”这个用户默认是匿名用户所对应的用户,匿名用户映射为ftp
    • 虚拟用户

4.匿名用户访问控制

lftp 192.168.0.10		##当访问ftp服务时没有加入用户认证为匿名访问
lftp 192.168.0.10 -u westos	##本地用户访问
  • 登陆控制

    anonymous_enable=YES|NO
    
  • 家目录控制

    anon_root=/westosdir
    
  • 上传控制

    anon_upload_enable=YES|NO
    
    chmod 775 /var/ftp/pub
    chgrp ftp /var/ftp/pub
    lftp 192.168.0.100
    cd pub
    put /etc/passwd
    
  • 目录建立控制

    anon_mkdir_write_enable=YES|NO
    
  • 下载控制

    anon_world_readable_only=NO	##匿名用户可以下载不能读的文件
    
  • 删除,命名控制

    anon_other_write_enable=YES|NO
    
  • 匿名用户上传文件权限设定

    anon_umask=xxx
    anon_umask=022		##当设定chown_username之后上传文权限将不是用此参数设定
    
  • 匿名用户上传文件的用户身份设定

    chown_upload=YES
    chown_username=lee
    chown_upload_mode=0644
    
  • 登陆数量控制:

    max_clients=2
    
  • 上传速率控制

    anon_max_rate=102400
    

5.本地用户的访问

  • 登陆控制

    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_local_user=YES
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    
  • 锁定用户到自己的家目录中的黑名单

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

6.虚拟用户访问

1.建立虚拟用户过程

  • 1.建立认证文件模板

    vim /etc/vsftpd/ftp_auth_file			#建立认证文件模板
    westos1
    123
    westos2
    123
    westos3
    123
    
  • 2.加密认证文件

    db_load -T -t hash -f ftp_auth_file ftp_auth_file.db	##加密认证文件       -T 转换 -t type -f 指定转换文件
    
  • 3.配置认证和授权规则

    vim /etc/pam.d/westos
    account		required	pam_userdb.so		db=/etc/vsftpd/ftp_auth_file	
    auth		required	pam_userdb.so		db=/etc/vsftpd/ftp_auth_file
    
  • 4.vsftpd 服务的配置文件配置

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

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

  • 新建目录
    mkdir  -p /ftpuserdir/westos{1..3}
    touch  /ftpuserdir/westos1/westos1file
    touch  /ftpuserdir/westos2/westos2file
    touch  /ftpuserdir/westos3/westos3file
    
  • 主配置文件
    vim /etc/vsftpd/vsftpd.conf 
    local_root=/ftpuserdir/$USER
    user_sub_token=$USER
    
  • 重启服务
    systemctl restart vsftpd 
    

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不行




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值