Vsftpd服务的部署及优化

1.ftp介绍

FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。

1.其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。

2.它属于网络传输协议的应用层。FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理,就像MIME或Unicode一样。但是,FTP有着极高的延时,从开始请求到第一次接受需求数据之间的时间,会非常长;并且不时的必须执行一些冗长的登录进程。

2.vsftpd安装及启用

搭建好软件仓库

dnf install vsftpd -y

dnf install lftp –y

关闭selinux

systemctl disable --now firewalld

vim /etc/vsftpd/vsftpd.conf

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   权限过大

530   认证失败

4.匿名用户访问控制

lftp 192.168.43.201                        当访问ftp服务时没有加入用户认证为匿名访问

lftp 192.168.43.201 -u westos       本地用户访问

登陆控制

编辑vim /etc/vsftpd/vsftpd.conf

anonymous_enable=YES|NO  yes 匿名用户可以登录,no 匿名用户不能登录

家目录控制

anon_root=/westosdir

 

上传控制

编辑vim /etc/vsftpd/vsftpd.conf

anon_upload_enable=YES|NO

chmod 775 /var/ftp/pub

chgrp ftp /var/ftp/pub

lftp 192.168.43.201

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       上传速率控制102400k

5.本地用户的访问

登陆控制

useradd westos

useradd lee

echo westos | passwd --stdin westos

echo westos | passwd --stdin lee

 lftp 192.168.0.10 -u westos

local_enable=NO|YES

家目录控制(所有用户登录后家目录都是/westos)

local_root=/westos

 

write_enable=NO|YES      写权限控制

local_umask=022              上传文件权限控制

 用户登陆控制

/etc/vsftpd/ftpusers                 永久黑

/etc/vsftpd/user_list                 默认黑名单

编辑vim /etc/vsftpd/vsftpd.conf

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/westos

auth     required   pam_userdb.so   db=/etc/vsftpd/westos

 

 (4)vim /etc/vsftpd/vsftpd.conf

pam_service_name=westos       指定认证策略文件

guest_enable=YES                     指定虚拟用户功能开启

guest_username=ftp                   指定虚拟用户在ftp服务器上的用户身份

 

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

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

 

用户配置独立

mkdir /etc/vsftpd/user_config

vim /etc/vsftpd/vsftpd.conf

user_config_dir=/etc/vsftpd/user_config  在此目录中与用户名称相同的文件为用户配置文件

vim /etc/vsftpd/user_config/westos1

anon_upload_enable=YES

设定完成后westos1用户可以上传文件,westos2和westos3不行

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值