vsftpd概述
vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。

特点
非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高
小巧轻快,安全易用。
ftp、sftp、vsftp、vsftpd这四个的区别
ftp 是File Transfer Protocol的缩写,文件传输协议,用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。它属于网络传输协议的应用层。

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

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

vsftpd 是very secure FTP daemon的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件;
一,匿名用户登录ftp(文件在/var/ftp)
1,安装vsftpd服务
[root@localhost ~]# yum install vsftpd -y ##安装服务
[root@localhost ~]# cd /etc/vsftpd/ ##此目录是配置文件目录
[root@localhost vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
[root@localhost vsftpd]# systemctl start vsftpd ##开启vsftpd服务
[root@localhost vsftpd]# systemctl stop firewalld.service ##关闭防火墙
[root@localhost vsftpd]# setenforce 0 ##关闭增强功能
[root@localhost vsftpd]# ls /var/ftp/ ##切换到ftp目录下
pub
[root@localhost vsftpd]# echo “this is test” > /var/ftp/test.txt ##添加一个文本文件
2,用测试机cmd访问vsftpd服务(cmd连接ftp)并下载文件
C:\Users\xy007>ftp 192.168.13.140 ##访问ftp服务
连接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.13.140:(none)): ftp ##匿名访问
331 Please specify the password.
密码: ##密码无 回车
230 Login successful.
ftp> pwd ##查看当前路径
257 “/” ##ftp服务的根目录
ftp> ls -a ##查看目录中的内容
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
.

pub
test.txt ##服务器中的文件
226 Directory send OK.
ftp: 收到 25 字节,用时 0.00秒 25000.00千字节/秒。
ftp> get test.txt ##下载文件到本地(在哪个磁盘的访问就下载到哪里,可以切换磁盘来下载e:)
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for test.txt (13 bytes).
226 Transfer complete.
ftp: 收到 13 字节,用时 0.00秒 13000.00千字节/秒。
ftp> put test1.txt ##在c盘中创建一个test1.txt然后上传到Linux中
200 PORT command successful. Consider using PASV.
550 Permission denied. ##此时是权限受限的
Linux中vsftpd服务配置(匿名,用户,虚拟用户)

3,修改vsftpd配置文件将匿名访问开启最大权限
[root@localhost ftp]# cd /etc/vsftpd/
[root@localhost vsftpd]# vim vsftpd.conf
##在配置文件中查找开启下列选项
anonymous_enable=YES ##开启匿名用户
local_enable=YES ##本地用户
write_enable=YES ##写入权限
local_umask=022 ##本地用户反掩码
anon_upload_enable=YES ##上传权限开启
anon_mkdir_write_enable=YES ##开启创建目录并且能够写入
anon_other_write_enable=YES ##添加一个other的重命名和删除的权限

[root@localhost vsftpd]# systemctl restart vsftpd ##重启服务
[root@localhost vsftpd]# cd /var/ftp/ ##切换到ftp目录下
[root@localhost ftp]# ls
pub test.txt
[root@localhost ftp]# ls -l
总用量 4
drwxr-xr-x. 2 root root 6 10月 31 2018 pub
-rw-r–r--. 1 root root 13 11月 5 19:14 test.txt
[root@localhost ftp]# chmod 777 pub ##将pub目录权限给最大,注意不能直接给ftp权限最大
4,用测试机cmd访问ftp并上传本地文件到Linux上
C:\Users\xy007>ftp 192.168.13.140 ##访问ftp服务
连接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.13.140:(none)): ftp
331 Please specify the password.
密码:
230 Login successful.
ftp> cd pub/ ##切换到pub目录下
250 Directory successfully changed.
ftp> put test1.txt ##上传文件
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 发送 13 字节,用时 0.03秒 0.41千字节/秒。
ftp> by ##退出
221 Goodbye.
##你也可以使用delete删除文件
5,查看上传的文件
[root@localhost ftp]# cd /var/ftp/pub ##切换到pub目录下
[root@localhost pub]# ls ##查看上传的文件
test1.txt
二,利用本地用户登录ftp(文件在家目录)
防止本地用户访问系统目录,限制仅访问用户家目录
1,创建系统用户
[root@localhost pub]# useradd zhangsan ##创建用户并设置用户密码
[root@localhost pub]# passwd zhangsan
[root@localhost pub]# useradd lisi ##创建用户并设置用户密码
[root@localhost pub]# passwd lisi
2,测试机上cmd使用用户登录ftp
C:\Users\xy007>ftp 192.168.13.140 ##登录ftp服务
连接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.13.140:(none)): zhangsan ##使用本地用户
331 Please specify the password.
密码:
230 Login successful.
ftp> ls / ##查看用户/下的目录文件,直接到系统根目录下
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
/bin
/boot
/dev
/etc
/home
/lib
/lib64
/media
/mnt
/opt
/proc
/root
/run
/sbin
/srv
/sys
/tmp
/usr
/var
226 Directory send OK.
ftp: 收到 126 字节,用时 0.02秒 7.88千字节/秒。
3,防止本地用户访问系统目录,限制仅访问用户家目录
[root@localhost pub]# vim /etc/vsftpd/vsftpd.conf ##修改配置文件

chroot_local_user=YES ##开启限制本地访问系统目录模块
allow_writeable_chroot=YES ##添加写的权限

[root@localhost pub]# systemctl restart vsftpd ##重启服务
4,测试机cmd访问
C:\Users\xy007>ftp 192.168.13.140 ##访问ftp
连接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.13.140:(none)): zhangsan ##用户zhangsan
331 Please specify the password.
密码:
230 Login successful.
ftp> cd / ##切换到系统根目录
250 Directory successfully changed.
ftp> ls ##查看发现还是在用户的家目录中,访问不到系统的其他目录了,增强了安全性
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
226 Directory send OK.
设置允许,拒绝指定用户访问ftp
1,设置user-list(默认拒绝),允许或者拒绝特定用户登录ftp
[root@localhost pub]# cd /etc/vsftpd/ ##切换到vsftpd配置文件目录
[root@localhost vsftpd]# vim vsftpd.conf

userlist_enable=YES ##确认user-list开启

[root@localhost vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
[root@localhost vsftpd]# echo “zhangsan” >> user-list ##将zhangsan用户添加到列表中
[root@localhost vsftpd]# systemctl restart vsftpd ##重启服务
2,用测试机cmd测试
C:\Users\xy007>ftp 192.168.13.140
连接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.13.140:(none)): zhangsan ##使用zhangsan登录
530 Permission denied.
登录失败。 ##直接拒绝登录
ftp>
3,设置列表为仅允许
[root@localhost ftp]# cd /etc/vsftpd/
[root@localhost vsftpd]# vim vsftpd.conf ##配置vsftpd配置文件
userlist_enable=YES
userlist_deny=NO ##添加列表允许

[root@localhost vsftpd]# systemctl restart vsftpd ##重启服务
4,测试机cmd测试
C:\Users\xy007>ftp 192.168.13.140
连接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.13.140:(none)): zhangsan ##用zhangsan去登录
331 Please specify the password.
密码:
230 Login successful. ##登录成功
ftp> by
221 Goodbye.

C:\Users\xy007>ftp 192.168.13.140
连接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.13.140:(none)): lisi ##用lisi去登录
530 Permission denied.
登录失败。 ##登录失败
三,建立虚拟用户账户使用ftp(文件在系统用户vuser家目录)
1,创建虚拟用户文件
[root@localhost vsftpd]# cd /etc/vsftpd/ ##切换到配置文件目录下
[root@localhost vsftpd]# vim vuser ##创建虚拟用户文件

lisa ##奇数行为用户名
123123 ##偶数行为密码
tom
123123
2,转换数据库文件,设置安全权限
[root@localhost vsftpd]# db_load -T -t hash -f vuser vuser.db ##将vuser转换成数据库文件
##T转换,t类型,f指定文件
[root@localhost vsftpd]# chmod 600 vuser ##安全起见,不让别人看到,设置权限
[root@localhost vsftpd]# chmod 600 vuser.db
3,编辑pam认证模块支持虚拟用户登录
[root@localhost vsftpd]# useradd -d /opt/vuser -s /sbin/nologin vuser
##创建系统用户,指定家目录,不能登录
[root@localhost vsftpd]# vim /etc/pam.d/vsftpd.vu ##编译pam认证模块

auth required pam_userdb.so db=/etc/vsftpd/vuser ##识别转换过的数据库文件
account required pam_userdb.so db=/etc/vsftpd/vuser ##连接的密码服务
4,开启虚拟用户,使用pam模块认证登录
[root@localhost vsftpd]# vim vsftpd.conf ##修改配置文件
##大G到末行
#pam_service_name=vsftpd ##注释
##添加下面三行内容
guest_enable=YES ##开启来宾用户访问
guest_username=vuser ##使用vuser用户名
pam_service_name=vsftpd.vu ##pam模块
[root@localhost vsftpd]# systemctl restart vsftpd ##重启服务
5,测试机cmd测试
C:\Users\xy007>ftp 192.168.13.140
连接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.13.140:(none)): tom ##使用虚拟用户tom登录
331 Please specify the password.
密码:
230 Login successful.
ftp> put test1.txt ##上传一个文件
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 发送 13 字节,用时 0.00秒 13000.00千字节/秒。
##查看文件的权限为600
[root@localhost vsftpd]# ls -l /opt/vuser/
总用量 4
-rw-------. 1 vuser vuser 13 11月 5 22:51 test1.txt
6,单独用户配置,指定上传文件的权限644
[root@localhost vsftpd]# vim vsftpd.conf
##大G末行添加
user_config_dir=/etc/vsftpd/vu_dir ##单独用户配置文件夹

[root@localhost vsftpd]# mkdir vu_dir ##创建文件夹
[root@localhost vsftpd]# cd vu_dir/
[root@localhost vu_dir]# vim lisa ##在配置文件夹里创建用户配置文件

anon_umask=022 ##指定上传文件的权限

[root@localhost vu_dir]# systemctl restart vsftpd ##重启服务
7,测试机cmd使用lisa用户登录,查看上传文件权限
C:\Users\xy007>ftp 192.168.13.140
连接到 192.168.13.140。
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用户(192.168.13.140:(none)): lisa ##使用lisa登录
331 Please specify the password.
密码:
230 Login successful.
ftp> put 111.txt ##上传文件
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp: 发送 13 字节,用时 0.00秒 13000.00千字节/秒。

[root@localhost vu_dir]# ls -l /opt/vuser/ ##查看上传文件的权限
总用量 8
-rw-r–r--. 1 vuser vuser 13 11月 5 22:58 111.txt ##lisa上传文件权限644
-rw-------. 1 vuser vuser 13 11月 5 22:51 test1.txt ##tom上传文件权限600

Linux中vsftpd服务配置相关推荐

  1. linux中匿名用户怎么登陆_南京课工场IT培训:Linux中vsftpd服务配置(匿名,用户,虚拟用户)...

    vsftpd概述 vsftpd 是"very secure FTP daemon"的缩写,安全性是它的一个最大的特点.vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字 ...

  2. linux中的网络配置

    Linux中的网络配置 1 什么是IP ADDRESS 2 子网掩码 3 ip通信判定 4 网络设定工具 4.1 设置双网卡 4.2 ping命令 4.3 ifconfig命令 4.4 ip addr ...

  3. Linux之systemd服务配置及自动重启

    Linux之systemd服务配置及自动重启 0 背景 在linux上开发时,往往需要将自己的程序做成服务,并且实现服务开机自动重启,以及服务崩溃后自动重启功能,本文就对该功能的实现做简单介绍,实现方 ...

  4. Linux中常见服务对应的端口号

    Linux中常见服务对应的端口号 一.常见服务对应的端口号 端口:0 端口:1 端口:7 端口:19 端口:20(数据端口) 21(控制端口) 端口:22 端口:23 端口:25 端口:42 端口:5 ...

  5. linux可配置哪些服务,linux操作系统下服务配置

    linux操作系统下服务配置 (5页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 17.90 积分 实用标准文案数学与信息技术学院实 验 报 告实验课程名 ...

  6. linux ftp 登录慢,linux中vsftpd登录,上传下载文件慢解决办法linux操作系统 -电脑资料...

    vsftpd登录慢主要是nameserver #定义DNS服务器的IP地址没有设置了,这样我们只要设置或更新一下nameserver即可解决了, 在使用vsftpd的过程中,一直以来都有一个问题就是在 ...

  7. 安装启动gui卡住_为Kali Linux中的Sqlmap配置 WEB-GUI 界面

    大家好,在本文中,我们将为大家介绍如何为SQLMAP设置Web-GUI界面.这里的Web-GUI,是指借助于浏览器,通过HTTP/HTTPS服务为我们的工具提供的图形用户界面. 在对含有MySQL安全 ...

  8. linux基础配置脚本,Linux中selinux基础配置教程详解

    selinux(Security-Enhanced Linux)安全增强型linux,是一个Linux内核模块,也是Linux的一个安全子系统. 三种模式: Enforcing:强制模式,在selin ...

  9. Linux系统管理及服务配置

    最近在学习Linux,特此记录一下 Linux系统管理及服务配置 1.文件管理 1.文件类型(理解) 简介 windows文件类型以后缀区分. exe doc linux文件类型以单个字母区分(文件属 ...

  10. windows访问虚拟机DNS服务器,windows虚拟机中DNS服务配置

    在linux虚拟机中进行DNS服务配置并进行正向解析反向解析我博客中已经写过,下面 我来介绍一下在windows虚拟机中DNS服务的配置使用. 1.打开一台windows虚拟机中服务器管理器--角色- ...

最新文章

  1. 时间序列数据和MongoDB:第三部分 - 查询,分析和呈现时间序列数据
  2. 我的 Serverless 实战 — Serverless 架构理念 ( 后端服务器发展 | Serverless 与 ServerFul | Serverless 定义 | 架构优缺点 )
  3. Linux中一切皆文件
  4. 【源码分析】storm拓扑运行全流程源码分析
  5. 技术选型方案怎么写_活动运营方案怎么写?
  6. Linux下c/c++项目代码覆盖率的产生方法
  7. POJ 3461Oulipo KMP模板
  8. For in + 定时器
  9. Eric Pement的单行awk命令收集
  10. overridden/inherited关键字的读书笔记
  11. 传智播客 多继承以及MRO顺序 学习笔记
  12. JavaWeb教程路线
  13. 根据经纬度来计算旋转矩阵
  14. android常用机制,11.Android 常见面试题——Binder机制
  15. lamp技术研发人员的必备
  16. poi 操作word文档,poi 向word插入图片,poi 向word入表格,XWPFParagraph 分段,XWPFDocument单元格合并,XWPFDocument 操作word
  17. 站点(e.g. Hexo Blog)提交百度搜索引擎收录实现SEO
  18. drcom linux最新版,Ubuntu高于8.04版本的源码安装drcom
  19. 用逗号分割并在Python中去除空格
  20. 29.顺时针打印矩阵

热门文章

  1. 应用内添加原生广告,变现与用户体验可兼得
  2. WorldPress 设置固定连接 Apache 服务器无法打开网页(100%解决这个问题)
  3. 玩转地球: 如何利用SAS绘制现代化地图(附代码)
  4. 计网 | 网络层 SDN控制器 / 远程控制器
  5. 新手做搭建独立站需要准备什么
  6. 中小企业建站方案和资源
  7. 将一个CSV格式的文件分割成两个CSV文件
  8. 查看oracle数据库防火墙设置,用三个方法设置Oracle数据库穿越防火墙
  9. 聊点高考往事和驾照科目二考试(r12笔记第86天)
  10. java 给word加水印_java实现word文档转pdf,并添加水印