Linux系统下vsftpd服务的部署及优化


一、ftp介绍

ftp【file transfer proto】
互联网中最老牌的文件传输协议
(可以通过ftp在这台主机里访问另一台主机里的文件)

1.实验环境

server主机:
lyx_server
172.25.254.105
selinux关闭
火墙开启时要添加ftp服务
(8.0版本得关闭火墙才能被访问到)
安装vsftpd服务
在这里插入图片描述
在这里插入图片描述
systemctl enable --now vsftpd

client主机:
lyx_client
172.25.254.5
selinux关闭
安装lftp(ftp协议文本浏览器)
在这里插入图片描述

2.ftp的使用

在服务端编辑服务vsftpd的配置文件:
vim /etc/vsftpd/vsftpd.conf
在这里插入图片描述

systemctl restart vsftpd

在客户端测试:

lftp ip此访问方式必须能列出资源才算访问成功
在使用完成后请输入quit退出lftp

在这里插入图片描述

二、vsftpd基本信息

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

三、用户访问控制

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

1.匿名用户的访问控制:

登陆控制: anonymous_enable=YES|NO
(NO的话匿名用户就无法访问了)
在这里插入图片描述
在这里插入图片描述

家目录控制: anon_root=/westos
在这里插入图片描述
在这里插入图片描述

上传控制: anon_upload_enable=YES|NO
在这里插入图片描述
修改权限(让匿名用户以ftp组身份并对其可写)

chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub

在这里插入图片描述

目录建立控制: anon_mkdir_write_enable=YES|NO
在这里插入图片描述
在这里插入图片描述

下载控制: anon_world_readable_only=NO
(匿名用户可以下载其他人不可读的文件)

YES时候,文件的其他人必须有读的权限才允许下载,单单文件所有人为ftp且有读权限是无法下载的,必须其他人也有读权限,才允许下载;若为NO则只要ftp组对文件有读权限即可下载
在这里插入图片描述
get 文件
mirror 目录
在这里插入图片描述

删除命令控制: anon_other_write_enable=YES|NO

在这里插入图片描述

在这里插入图片描述

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

(文件权限=777-umask值-111
目录权限=777-umask值)
在这里插入图片描述
在这里插入图片描述

(当设定chown_username之后上传文权限将不是用此参数设定)

匿名用户上传文件的用户身份设定:
在这里插入图片描述
此时用户身份是ftp,我们设定上传文件时的用户身份为westos

chown_upload=YES(指定上传文件的归属)
在这里插入图片描述
在这里插入图片描述

[root@lyx_server pub]# id westos
uid=1000(westos) gid=1000(westos) groups=1000(westos)

此时上传文件的权限将不再是上面修改过的参数,需重新指定
chown_upload_mode=0644
在这里插入图片描述在这里插入图片描述

登陆数量控制: max_clients=2

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

上传速率控制: anon_max_rate=102400

原本速率 大约74M/s
在这里插入图片描述
对上传文件速率进行限制102400(100K)
在这里插入图片描述
在这里插入图片描述

2.本地用户的访问控制

useradd westos
useradd lee
echo lee | passwd --stdin westos
echo lee | passwd --stdin lee

登陆控制: local_enable=NO|YES
在这里插入图片描述
在这里插入图片描述
如果后面改为NO,则以本地用户访问时会显示权限过小
在这里插入图片描述

家目录控制: local_root=/yau

 mkdir /yau
 touch /yau/haha

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

写权限控制: write_enable=NO|YES
针对所有
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

上传文件权限控制: local_umask=077

(文件权限为600)

在这里插入图片描述

在这里插入图片描述

用户登陆控制:

/etc/vsftpd/ftpusers永久黑
/etc/vsftpd/user_list默认黑

在这里插入图片描述

用户登陆白名单:userlist_deny=NO

【默认上边两个文件都为黑名单,若在配置文件里将userlist_deny=NO,则/etc/vsftpd/user_list 为白名单】(不在名单中的用户不能登陆ftp)
在这里插入图片描述
在这里插入图片描述
注意:当etc/vsftpd/ftpusers和/etc/vsftpd/user_list里都有lee用户时,则首先读取ftpusers名单(ftpusers优先级高于user_list!)

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

默认情况下以本地用户访问时,可以查看根目录下内容
在这里插入图片描述
将此命令=YES,所有用户不能切换到根目录下,就无法查看根目录下内容在这里插入图片描述

chmod  u-w /home/*
(避免出现权限过大报错)

在这里插入图片描述

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

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

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

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

四、虚拟用户访问

1.建立虚拟用户过程

1)vim /etc/vsftpd/ftpuserlist 【建立认证文件模板】

在这里插入图片描述

2)db_load -T -t hash -f ftpuserlist ftpuserlist.db
【加密认证文件】 (-T 转换 -t type -f 指定转换文件)
在这里插入图片描述

3)vim /etc/pam.d/lyxauth
【填写认证策略】
在这里插入图片描述

PAM(负责认证的插件类模块)
在这里插入图片描述

4)vim /etc/vsftpd/vsftpd.conf
在这里插入图片描述

systemctl restart vsftpd.service 

测试:
在这里插入图片描述

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

在这里插入图片描述

vim /etc/vsftpd/vsftpd.conf
在这里插入图片描述

systemctl restart vsftpd

测试:
在这里插入图片描述

3.用户配置独立

(对虚拟用户的权力分开控制)
目录名可任意
在这里插入图片描述
让虚拟用户访问的目录可以读写
在这里插入图片描述

如果只想让虚拟用户lyx2可以上传,即再此目录下编辑lyx2(文件名就是用户名)
在这里插入图片描述
测试:
在这里插入图片描述
虚拟用户的默认目录:
local_root=/dir/$USER
上传权力:
anon_upload_enable=YES

  • GET
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值