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

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的配置文件存放路径

VSFTP介绍安装使用相关推荐

  1. 安装vag服务器虚拟机,FusionAccess桌面云组件介绍/安装

    FusionAccess桌面云组件介绍/安装 FusionAccess桌面云组件介绍/安装 文章目录桌面云管理组件接入访问控制层 虚拟桌面管理层 桌面虚拟机核心组件 安装部署 桌面云关联组件AD-活动 ...

  2. HarmonyOS实战[一]——原理概念介绍安装:基础篇

    [本文正在参与"有奖征文|HarmoneyOS征文大赛"活动] 相关文章: HarmonyOS实战[一]--原理概念介绍安装:基础篇 HarmonyOS实战[二]-超级详细的原子化 ...

  3. MySQL介绍-安装-登录

    MySQL介绍-安装-登录 数据库的概念 数据存储方式 计算机数据(Data)的存储一般以硬盘为数据存储空间资源,从而保证计算机内的数据能够持续保存.对于数据的处理,一般会采用数据库相关的技术进行处理 ...

  4. Mininet的介绍安装

    Mininet的介绍 Mininet是一个强大的网络仿真平台,通过这个这个平台,我们可以很方便的模拟真实环境中的网络操作与架构.当前SDN/OpenFlow发展的如火如荼,但是在真实网络中又不可以进行 ...

  5. Ctex软件介绍安装破解(是WinEdt_v6.0破解)

    为什么80%的码农都做不了架构师?>>>    1,什么是CTex? CTEX是TEX中的一个版本,CTEX 指的是CTEX 中文套装的简称. TEX 在不同的硬件和 操作系统上有不 ...

  6. 77.redis介绍 安装 持久化 数据类型

    2019独角兽企业重金招聘Python工程师标准>>> 21.9 redis介绍 21.10 redis安装 21.11 redis持久化 21.12 redis数据类型 21.9 ...

  7. Grub及内核的简单介绍安装

    Grub1.x的具体介绍 Grub识别的硬盘设备命名 所有硬盘都识别为hd,分区表示法(x,y),编号都从0开始 配置文件 /boot/grub/grub.conf或/etc/grub.conf,具体 ...

  8. Linux - Red Hat 7.3 介绍安装

    1. linux 历史介绍 Linux 操作系统的诞生发展和成长过程始终依赖着五个重要支柱:UNIX 操作系统.MINIX 操作系统.GNU计划.POSIX 标准和Internet 网络 1969年( ...

  9. Go语言介绍 安装 基础命令(一)

    1 介绍 Go 即 Golang,是Google公司2009年11月正式对外公开的一门编程语言. 应用领域:WEB开发.区块链开发.大型游戏服务端开发.分布式/云计算开发 2 安装 下载: 官网:ht ...

最新文章

  1. 圆形百分比_还有半圆形的饼图!怎么做出来的?
  2. sublime配置运行python文件的快捷键
  3. 如何添加二级标题_全国计算机二级MS Office高级应用考试指南
  4. 高并发02_同步锁的一些题目
  5. 扩容是元素还是数组_348,数据结构1,数组
  6. Eclipse利用Maven2搭建SpringMVC框架的Web工程
  7. Java的文件流定义,java文件流的问题!急
  8. python sanic_如何使用Python和Sanic使代码快速异步
  9. [article]回忆录的开始
  10. laravel leftjoin 右侧取最新一条_高铁规划:湖南至广西将增添一条高铁,填补中西部地区铁路网空白...
  11. 轻量级MVC框架(自行开发)
  12. IDEA配置JUnit进行单元测试
  13. 存储容量(空间)换算公式(B、KB、MB、GB、TB、PB、EB)
  14. 计算机专业英语unit6,计算机专业英语郭敏 计算机专业英语Unit6
  15. mat1 and mat2 shapes cannot be multiplied ( )的解决
  16. mac 破解安装 navicat
  17. MongoDB内嵌文档查询
  18. 手动实现李群SE(3)到李代数se(3)之间的对指数运算关系
  19. 牛逼的python代码_牛逼啊!一个随时随地写Python代码的神器
  20. 2022-04-21 Omnet学习笔记(一)

热门文章

  1. ARM搭建MC服务器教程,适用于树莓派
  2. 彩印图文版《Elasticsearch实战》文档,阿里内部共享,堪称精品
  3. 增长黑客AB-Test系统(一)——什么是AB-Test
  4. unity 场景ab包_Unity加载AB包
  5. ping和traceroute的工作原理
  6. mysql 数据库排序规则
  7. 【知识图谱】【 实践工具 】【Windows】- Protege - graphviz做图形可视化(三)
  8. 关于JNI local ref未释放可在tombstones中去查看具体函数
  9. 沧海一声笑 [怀念黄沾]
  10. java8新特性之FunctionalInterface