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

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:Usersxy007>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.    ##此时是权限受限的

977e6cdd94b8190f92ae79e9357429f7.png

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:Usersxy007>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:Usersxy007>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:Usersxy007>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.confuserlist_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:Usersxy007>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:Usersxy007>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:Usersxy007>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:Usersxy007>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:Usersxy007>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

本专栏所有文章均为南京课工场学员投稿,如有问题欢迎指出讨论,未经允许,禁止转载!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/372971.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java High CPU故障排除指南–第1部分

本文是该系列的第1部分,它将为您提供有关如何进行故障排除和识别Java高CPU问题根本原因的综合指南。 该指南也适用于独立的Java程序,但旨在帮助涉及Java EE企业日常生产支持的个人。 它还将包括最常见的高级CPU问题列表以及高级解决方案。 生产问题解决…

php进程间通信 yoc_swoole的process模块创建和使用子进程

swoole中为我们提供了一个进程管理模块 Process,替换PHP的 pcntl 扩展,方便我们创建进程,管理进程,和进程间的通信。swoole提供了2种进程间的通信:1、基于 unix socket 的管道 pipe。2、基于 sysvmsg 的消息队列。我们…

mysqls压力测试怎么用_阿里研究员:测试稳定性三板斧,我怎么用?

阿里妹导读:如何治理测试稳定性问题?很多人会说:环境、流程管控、监控、工具化、加机器、专人负责、等等。这些都是对的。不过这些都是解决方案层面的,而不是方法论和理论体系层面的。今天,阿里研究员郑子颖来说说测试…

HttpModule与HttpHandler详解

ASP.NET对请求处理的过程:当请求一个*.aspx文件的时候,这个请求会被inetinfo.exe进程截获,它判断文件的后缀(aspx)之后,将这个请求转交给 ASPNET_ISAPI.dll,ASPNET_ISAPI.dll会通过http管道&…

【iOS开发】---- 强大的UI修改工具 UIAppearance-有图片效果

iOS5及其以后提供了一个比较强大的工具UIAppearance&#xff0c;可以轻松的统一你的界面&#xff0c;它提供如下两个方法&#xff1a; (id)appearance (id)appearanceWhenContainedIn:(Class <>)ContainerClass,... 第一个方法是统一全部改&#xff0c;比如你设置UINav…

使用Jetty设置JNDI(嵌入式)

我在开发工作区上运行嵌入式Jetty&#xff0c;从而节省了一些编译和部署恶性循环的时间。 我与Jetty的合作不多&#xff0c;易用性使我着迷于它。 我需要设置JNDI才能检索与数据库相关的活动的连接池。 尽管某些地方有完整的文档&#xff0c;但大多数都是分散的。 因此&#xf…

交华为换机access配置_华为交换机Hybrid接口及基础配置

一、回顾VLANVLAN基本概念VLAN即虚拟局域网&#xff0c;是将一个物理的LAN在逻辑上划分成多个广播域(多个VLAN)的通信技术。VLAN内的主机间可以直接通信&#xff0c;而VLAN间不能直接互通&#xff0c;从而将广播报文限制在一个VLAN内。由于VLAN之间的隔离&#xff0c;所以一些类…

HttpClient使用之下载远程服务器中的文件(注意目录遍历漏洞)

参考文献&#xff1a; http://bbs.csdn.net/topics/390952011 http://blog.csdn.net/ljj_9/article/details/53306468 1.下载地址 http://hc.apache.org/downloads.cgi Apache-》Projects-》HttpComponents 2.DownloadServlet 1 package com.servlet;2 3 import java.io.Buffer…

git push 的符号笔有什么用_如何同步多个 git 远程仓库

点击上方“后端技术精选”&#xff0c;选择“置顶公众号”技术文章第一时间送达&#xff01;作者&#xff1a;taadismy.oschina.net/taadis/blog/3073220题外话&#xff0c;开发中遇到问题或者学习新技术时缺少交流环境&#xff0c;可以点击加入【后端技术交流群】日常需求以前…

2、Spring的 IoC详解(第一个Spring程序)

Spring是为了解决企业应用开发的复杂性而创建的一个轻量级的控制反转&#xff08;IoC&#xff09;和面向切面&#xff08;AOP&#xff09;的容器框架。在这句话中重点有两个&#xff0c;一个是IoC&#xff0c;另一个是AOP。今天我们讲第一个IoC。 一. IoC理论的背景 我们都知道…

js 获取father_(原创)Node.JS实战26:强大的工作池。收藏吧!你一定会用的到。...

在实际项目中&#xff0c;如果遇到需要大计算量的操作&#xff0c;按需fork&#xff08;分叉&#xff09;其实不是一个好的选择。因为fork的子进程也是V8&#xff08;NodeJS的核心引擎&#xff09;的新实例&#xff0c;每创建一个新实例&#xff0c;需要约30毫秒启动时间&#…

修复steam服务器失败,steam服务器链接失败

steam服务器链接失败 内容精选换一换当NTP服务器异常时产生该告警。当NTP服务器异常消除时&#xff0c;该告警恢复。主OMS节点配置的NTP服务器异常&#xff0c;可能会导致主OMS节点与外部服务器不能同步时间&#xff0c;集群时间可能会产生飘移。NTP服务器网络异常。与NTP服务器…

将jar添加到发布目录_第32批免购置税新能源车型目录发布;通用BEV3平台将入华...

1、第32批免购置税新能源车型目录发布&#xff0c;几何X/理想ONE等283款车型入选6月2日&#xff0c;工信部发布《免征车辆购置税的新能源汽车车型目录(第三十二批)》&#xff0c;共有283款新能源车型入选。其中新能源乘用车方面包括&#xff0c;一汽大众Q2L/e-BORA、东风风神E7…

HPROF –内存泄漏分析教程

本文将为您提供有关如何通过生成和分析Sun HotSpot JVM HPROF堆转储文件来分析JVM内存泄漏问题的教程。 一个现实的案例研究将用于此目的&#xff1a;Weblogic 9.2内存泄漏影响Weblogic Admin服务器。 环境规格 Java EE服务器&#xff1a;Oracle Weblogic Server 9.2 MP1 中…

mq服务器与客户端消息同步,使用 ActiveMQ 实现JMS 异步调用

目录简介服务之间的同步调用&#xff0c;可以使用 HTTP 或 RPC 来完成&#xff0c;但并非所有的调用都需要同步&#xff0c;有些场景下&#xff0c;当客户端调用服务端时&#xff0c;并不需要等待服务端做出响应&#xff0c;此时就应该使用异步调用。异步调用的常用方式是基于 …

多个数字数组_七个问题帮助初学者深入理解Java数组

短文涨姿势&#xff0c;看了不白看&#xff0c;不关注等啥&#xff1f;几乎所有的高级语言当中&#xff0c;都提供了一种叫做”数组”的东西&#xff0c;Java语言当然也不例外。我们通过数组可以很方便的存储和管理一组数据。因为在Java语言当中使用数组非常的方便&#xff0c;…

java 异常练习题1

建立exception包&#xff0c;建立Bank类&#xff0c;类中有变量double balance表示存款,Bank类的构造方法能增加存款&#xff0c;Bank类中有取款的发方法withDrawal(double dAmount),当取款的数额大于存款时,抛出InsufficientFundsException,取款数额为负数&#xff0c;抛出Nag…

大话设计模式读书笔记--6.原型模式

简单的复制粘贴极有可能造成重复代码的灾难, 但是java中提供了克隆的功能, 如果一个对象创建过程复杂,又要频繁使用, 在初始化信息不发生变化的情况下,应当采取克隆而不是new一个对象 定义 原型模式: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 也就是说,…

Java 7#8:测试台上的NIO.2文件通道

关于新JDK 7功能的另一篇博客文章。 这次我正在写有关新的AnsynchronousFileChannel类的文章。 我将在两周内深入分析新的JDK 7功能&#xff0c;并决定连续编号我的帖子。 只是为了确保我不会感到困惑&#xff1a;-)这是我关于Java 7的第七篇文章&#xff08;我承认–碰巧–这也…

5页面title样式修改_认识html:实现网站页面是这么简单的一回事

互联网时代人们通过上网浏览信息&#xff0c;打开浏览器上网看到丰富的图文、视频、音乐等多媒体信息&#xff0c;一系列信息反馈和视觉冲击之后&#xff0c;您有没有想过&#xff0c;互联网这么发达的时代&#xff0c;您觉得花一点点时间学会做个网站页面不真香&#xff1f;概…