当前位置: 首页 > news >正文

VSFTP介绍安装使用

ftp 是File Transfer Protocol的缩写,文件传输协议,用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。它属于网络传输协议的应用层。

sftp 是SSH File Transfer Protocol的缩写,安全文件传输协议;

vsftp 是一个基于GPL发布的类Unix系统上使用的ftp服务器软件,它的全称是Very Secure FTP从此名称可以看出来,编制者的初衷是代码的安全;

今天来介绍安装VSFTP

1.服务的作用:我们通过FTP可以很方便的把文件传到网站服务器,同时也可以方便的把网站文件从服务器下载到本地电脑。
2.服务的安装yum -y install vsftpd
3.服务启动,停止
启动服务systemctl start vsftpd
停止服务systemctl stop vsftpd
4.配置文件
/etc/vsftpd/vsftpd.conf: vsftpd 的核心配置文件
/etc/vsftpd/ftpusers :用于指定哪些用户不能访问FTP 服务器。 黑名单
/etc/vsftpd/user_list:指定允许使用vsftpd 的用户列表文件。 白名单


VSFP登录方式有三种:1.匿名用户登录2.local本地用户登录3.虚拟用户登录
1.匿名用户登录,更改配置文件

#允许匿名用户访问

anonymous_enable=YES

#允许匿名用户上传文件并可以创建目录

anon_upload_enable=YES
anon_mkdir_write_enable=YES  
2.本地用户登录,更改配置文件

①.创建测试用户
useradd zhangsan
echo “123456” |passwd --stdin zhangsan
②.修改配置文件
vim /etc/vsftpd/vsftpd.conf

local_enable=YES
local_umask=077
chroot_local_user=YES
allow_writeable_chroot=YES
write_enable=YES
pam_service_name=vsftpd

vim /etc/vsftpd/user_list //添加用户到白名单

zhangsan

systemctl restart vsftpd //重启服务

3.虚拟用户登录

①添加虚拟用户口令文件
vi /etc/vsftpd/vuser.txt

changxing           #用户名
520Ying             #密码
changxing2          #用户名
520Ling             #密码

②生成虚拟用户口令认证文件

yum -y  install db4-utils

#如果没有安装口令认证命令,需要安装

db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db 

#把文本文档转为认证的数据库

③编辑vsftpd的PAM认证文件
vi /etc/pam.d/vsftpd
32位:

auth       required     /lib/security/pam_userdb.so db=/etc/vsftpd/vuser
account    required     /lib/security/pam_userdb.so db=/etc/vsftpd/vuser

64位:

auth       required     /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
account    required     /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser

#注释掉其他行,加入此两行即可
#注释掉其他行,可以禁止本地用户登录,因为本地用户登录时验证依然依赖这个文件
④建立本地映射用户并设置宿主目录权限

useradd -d /home/vftproot -s /sbin/nologin vuser
chmod 755 /home/vftproot

vuser用户不需要登录,只是映射用户,用户名必须和下一步配置文件中一致

⑤修改配置文件
vi /etc/vsftpd/vsftpd.conf

guest_enable=YES
guest_username=vuser
pam_service_name=vsftpd
anonymous_enable=NO
#关闭匿名用户登录,更加安全(不影响虚拟用户登录)
anon_upload_enable=YES
#允许虚拟用户上传文件
anon_mkdir_write_enable=YES
#允许虚拟用户允许创建目录
write_enable=YES
allow_writeable_chroot=YES
local_enable=YES
chroot_local_user=YES
#开启用户目录限制(把所有用户都限制在用户主目录中)
user_config_dir=/etc/vsftpd/vconf
#指定保存虚拟用户配置文件的目录

⑥为每个虚拟用户建立自己的配置文件,单独定义权限

手工建立目录

mkdir /etc/vsftpd/vconf

③为每个虚拟用户建立配置文件
vi /etc/vsftpd/vconf/changxing

anon_upload_enable=YES                      
#允许用户上传文件
anon_mkdir_write_enable=YES               
#允许用户允许创建目录
anon_other_write_enable=YES               
#允许用户有其他写入权(改名,删除,覆盖)
local_root=/ftp/changxing
#给changxing指定独立的上传目录

④创建用户目录

mkdir /ftp/changxing
chown vuser:vuser /ftp/changxing

systemctl restart vsftpd //重启服务

---------------------------------扩展结束--------------------------------

配置文件详解

常用的匿名FTP配置项

anonymous_enable=YES                         
#是否允许匿名用户访问
anon_umask=022                                     
#匿名用户所上传文件的权限掩码
anon_root=/var/ftp                                    
#设置匿名用户的FTP根目录
anon_upload_enable=YES                      
#是否允许匿名用户上传文件
anon_mkdir_write_enable=YES               
#是否允许匿名用户允许创建目录
anon_other_write_enable=YES               
#是否允许匿名用户有其他写入权(改名,删除,覆盖)
anon_max_rate=0                                     
#限制最大传输速率(字节/秒)0为无限制

常用的本地用户FTP配置项

local_enable=YES                                      
#是否允许本地系统用户访问
local_umask=022
#本地用户所上传文件的权限掩码
local_root=/var/ftp                                      
#设置本地用户的FTP根目录
chroot_list_enable=YES                            
#表示是否开启chroot的环境,默认没有开启
chroot_list_file=/etc/vsftpd/chroot_list        
#表示写在/etc/vsftpd/chroot_list文件里面的用户是不可以出chroot环境的。默认是可以的。
Chroot_local_user=YES                             
#表示所有写在/etc/vsftpd/chroot_list文件里面的用户是可以出chroot环境的,和上面的相反。
local_max_rate=0                                       
#限制最大传输速率(字节/秒)0为无限制 

常用的全局配置项

listen=YES                                                  
#是否以独立运行的方式监听服务
listen_address=192.168.4.1                       设置监听FTP服务的IP地址
listen_port=21                                             
#设置监听FTP服务的端口号
write_enable=YES                                      
#是否启用写入权限(上传,删除文件)
download_enable=YES                             
#是否允许下载文件
dirmessage_enable=YES                           
#用户切换进入目录时显示.message文件
xferlog_enable=YES                                   
#启用日志文件,记录到/var/log/xferlog
xferlog_std_format=YES                             
#启用标准的xferlog日志格式,禁用此项将使用vsftpd自己的格式
connect_from_port_20=YES                       
#允许服务器主动模式(从20端口建立数据连接)
pasv_enable=YES                                       
#允许服务器被动模式
pasv_max_port=24600                                
#设置被动模式服务器的最大端口号
pasv_min_port=24500                                 
#设置被动模式服务器的最小端口号
pam_service_name=vsftpd                          
#用户认证的PAM文件位置(/etc/pam.d/vsftpd.vu)
userlist_enable=YES                                     
#是否启用user_list列表文件
userlist_deny=YES                                        
#是否禁用user_list中的用户
max_clients=0                                                
#限制并发客户端连接数
max_per_ip=0                                                 
#限制同一IP地址的并发连接数
tcp_wrappers=YES                                         
#是否启用tcp_wrappers主机访问控制
chown_username=root                                   
#表示匿名用户上传的文件的拥有人是root,默认关闭
ascii_upload_enable=YES                              
#表示是否允许用户可以上传一个二进制文件,默认是不允许的
ascii_download_enable=YES                         
#这个是代表是否允许用户可以下载一个二进制文件,默认是不允许的
nopriv_user=vsftpd                                          
#设置支撑Vsftpd服务的宿主用户为手动建立的Vsftpd用户
async_abor_enable=YES                               
#设定支持异步传输功能
ftpd_banner=Welcome to Awei FTP servers   	
#设定Vsftpd的登陆标语
guest_enable=YES             
#设置启用虚拟用户功能
guest_username=ftpuser         
#指定虚拟用户的宿主用户
virtual_use_local_privs=YES        
#设定虚拟用户的权限符合他们的宿主用户
user_config_dir=/etc/vsftpd/vconf      
#设定虚拟用户个人Vsftp的配置文件存放路径
http://www.xdnf.cn/news/839467.html

相关文章:

  • Python爬虫实战五之模拟登录淘宝并获取所有订单
  • 【嵌入式开发】树莓派支持硬编码的视频套件
  • 2020年生肖码表图_2020年最好的计时码表,是这4款
  • 爬虫学习(一)---爬取电影天堂下载链接
  • 深度学习openpose人体姿态检测识别-动作检测
  • 从Idea到付诸实践,你必须要知道的
  • 国内主流视频分享网站主页对比
  • 饭统网倒闭:不创新、不放权就是作死
  • 物联网RTOS新贵-TencentOS tiny入门
  • 当我们谈「以消费者为中心」时,实际上在谈什么?| 消费者数字化运营从0到1
  • pubg绝地求生大厅发生了错误/显示与主机失去连接一键解决
  • 从零开始训练一个大模型教程
  • camera isp(Image Signal Processor)
  • ESET NOD32 最新更新有效的升级ID用户名和密码
  • [Python]输入星座名查询对应Unicode编码图案
  • spring boot应用内部实现应用自身重启的两种方式
  • 常见海报的尺寸
  • Unity--向量点乘叉乘在Unity中的使用
  • 天玑1100和天玑920处理器哪个好
  • PostScript(PS 格式)讲解
  • 数电设计--交通灯控制系统
  • 网络监控软件PRTG的配置及使用
  • 文心一言:中国版“ChatGPT”测评
  • 极市平台|100+深度学习各方向数据集资源大盘点
  • 20+ 个免费和高级的 Web 视频播放器
  • 大数据---MySQL基础---day1
  • 十款开源数据集成工具
  • 50款七夕表白代码大合集(超全)
  • boot教程5,2.0-2.5新特性,自动配置双刃剑,spring帝国神兵出世,转投Gradle,拥抱云原生
  • 通过一个例子理解边缘计算