在FTP服务器上给不同的用户设置不同的权限实现不同的功能

实验环境:一台原始干净的虚拟机,ip地址为172.20.53.1。
并且事先为这台虚拟机安装上web服务器和ftp服务器

实验目的:使zhangsan能实现上传下载,lisi只能上传,匿名用户只能下载

实验步骤:

  1. 首先创建FTP站点,默认情况下,IIS管理器中只有一个Web站点,下面新建一个FTP站点,单击右侧“操作”面板中的“添加FTP站点”选项。启动“添加FTP站点”向导。

  1. 为站点起个名字,并指定FTP站点的主目录,FTP默认的主目录是:C:\inetpub\ftproot,点击下一步

3.指定站点的IP地址和 端口号,由于尚未拥有SSL证书,因而将SSL设为“无”,如图所示

  1. 在身份验证中勾选“匿名”复选框,即启用匿名身份验证和基本身份验证,同时授权所有用户具有读取和写入的权限。单击完成按钮,完成站点创建。

5.创建完FTP,接下来开始创建用户,在开始处打开控制面板,点击添加或删除用户。

6.创建一个新的用户,分别创建lisi和zhangsan。

7.分别创建完账户后还要给各个用户创建密码。

  1. 用户创建完成之后,打开FTP服务器,点击FTP身份验证。


保证已经启用了“基本身份验证”和“匿名身份验证”。

  1. 去FTP服务器上设置相应权限,打开FTP授权规则。

10.在空白处右击选择 ”添加允许规则”,首先为用户zhangsan添加规则,选择指定用户,权限有读取和写入,点击确定。

11.然后为lisi添加规则,选择指定用户,权限为写入。

12.为匿名账户添加规则,只允许读取。

13.对站点目录进行NTFS权限设置,为用户分配修改权限,右击FTP站点选择“编辑权限”,选择安全“选项卡”,然后点击编辑。

  1. 点击“添加”。

15.在输入对象名称中写入zhangsan,然后点击确定

16.设置用户zhangsan 的权限,如下图所示。

  1. 设置lisi用户的权限,点击应用。

18.设置匿名账户的权限,不允许修改,点击应用.

19.接下来开始测试,实验是否成功,打开资源管理器,输入ftp://172.20.53.1

20.切换成zhangsan用户登录。在空白处右击,选择登录,

  1. 输入用户名和密码,然后点击登录。

  1. 进入到zhangsan用户,然后首先将事先准备好的21.txt复制到服务器里,发现成功复制进去,说明能实现上传。

  1. 然后将3.txt复制到外面,发现也能成功复制,表示能够下载。
  2. 切换到lisi用户,点击登录。

    25.登录到Lisi用户将21.txt,复制到服务器上,发现复制成功,说明lisi用户能实现上传到服务器上,发现复制成功,说明lisi用户能实现上传。
  3. 然后再测试下看lisi能否把21.txt,删除发现不能,然后再尝试将21.txt复制出去发现也不能,说明不能下载。

27.用匿名登录。

  1. 将事先准备好的5.txt复制到服务器里,发现不能实现,说明不能上传。

29.将服务器上3.txt复制出去发现成功,说明能够下载,然后再尝试删除,发现也删除不了,说明匿名用户实现只能下载这一要求。

以上现象表明实验成功。

在做实验时遇到zhangsan用户的配置完整但不能实现下载。
原因:是由于IE的安全设置有问题导致的。
解决方法:
1.找到工具中的internet选项。


2.选中安全

3.在自定义级别中找到,下载选项,修改下载为启用状态后应用后退出。

这样就成功解决了

原文地址:https://blog.51cto.com/13716158/2412942

时间: 2024-10-11 15:25:02

在FTP服务器上给不同的用户设置不同的权限实现不同的功能的相关文章

实现在同一台服务器上登录的ssh用户的群聊(聊天室)功能

直接上代码了,注释还算清晰,有问题欢迎提问指证. 为方便下载编译,代码都放到一个文件里了. 服务器是CentOS,客户端用的secureCRT. /* 功能: 在同一台服务器上ssh登录的用户可以群聊(聊天室) 原理:<span style="white-space:pre"> </span>1.通过roomNo.来区分不同的房间或群组: 2.以roomNo.作为key来创建一块共享内存,来保存进入到该room的用户列表: 3.用户以ssh(或其它方式)登录到服

如何直接处理FTP服务器上的压缩文件?

我最近要写一个供有相关权限的管理人员查询大额资金明细的程序,界面如下: 所需的数据文件是放在报表服务器上,每天一个压缩文件,该压缩文件中除了所需的储蓄流水账文件外,还有很多其他的文件.如果先把该压缩文件从报表服务器下载到应用服务器上,再进行解压缩处理的话,一是多下载了该压缩文件中我们不需要的其他文件,二是还必须在应用服务器上建立以SessionID等方法标识的临时文件,以免其他用户也在进行查询时文件名冲突,三是使用完毕后还必须删除该临时文件. 我的处理方法是如下: using (ZipInput

Centos FTP服务器的原理以及虚拟用户的配置

前面笔者写过一篇"FTP本地用户"随笔,那只是一个案例,并没有完整的写出来作用.配置文件解析和原理,今天笔者将发布"FTP服务器的原理以及虚拟用户的配置"随笔 FTP服务的原理 FTP(File Transfer Protocol)是一个非常古老并且应用十分广泛的文件传输协议,FTP协议是现今使用最为广泛的网络文件共享协议之一 现在也一直有在用着FTP协议来进行各种文件的传输,FTP为人们提供了一种可靠的方式在网络上进行文件的共享 FTP是C/S架构的服务,拥有一个

java实现读取ftp服务器上的csv文件

定义ftp操作接口 import java.io.InputStream; import java.util.List; import org.apache.commons.net.ftp.FTPClient; /** * FTP服务器操作*/ public interface iFtpServU { public FTPClient ftp(String ip, String user, String password); public List<String[]> csv(InputStr

Java通过FTP服务器上传下载文件的解决方案

对于使用文件进行交换数据的应用来说,使用FTP 服务器是一个很不错的解决方案.本文使用Apache Jakarta Commons Net(commons-net-3.3.jar)基于FileZilla Server服务器实现FTP服务器上文件的上传/下载/删除等操作. 关于FileZilla Server服务器的详细搭建配置过程,详情请见FileZilla Server安装配置教程.之前有朋友说,上传大文件(几百M以上的文件)到FTP服务器时会重现无法重命名的问题,但本人亲测上传2G的文件到F

windows、linux通过ftp从ftp服务器上传和下载

最近需要用到文件的上传和下载,查看我们使用的系统,发现有一个进程为t_ftpd,怀疑其为一个ftp的守护进程,于是想要用ftp的方式实现. 在windows上使用bat脚本的方式实现: 首先写一个bat脚本: download.bat @echo off ftp -s:E:\Sylixos\SylixOS_Qt\build-TCWareWigget-Desktop_Qt_5_7_1_MinGW_32bit-Debug\debug\ftp\ftp.txt 这样就会调用ftp.txt文件 ftp.t

使用SAXReader读取ftp服务器上的xml文件(原创)

根据项目需求,需要监测ftp服务器上的文件变化情况,并将新添加的文件读入项目系统(不需要下载). spring配置定时任务就不多说了,需要注意的一点就是,现在的项目很多都是通过maven构建的,分好多子项目,通过pom互相依赖,定时任务的配置文件需要放到tomcat等容器发布的工程下,而不要放到任务所在的子项目里面,bean的class属性是可以通过项目依赖读取到其他子项目里面的class的,而且任务类需要有构造方法,涉及到spring架构的bean的知识,说的有点多了... =========

使用批处理文件在FTP服务器 上传下载文件

1.从ftp服务器根目录文件夹下的文件到指定的文件夹下 格式:ftp -s:[配置文件] [ftp地址] 如:ftp -s:c:\vc\ftpconfig.txt   192.168.1.1 建立一个批处理文件:命名为 test.bat(名称可以随便,为了方便操作,直接命名为1.bat)  然后将上面的内容拷贝进去 ftpconfig.txt的文件内容是: testuser test get test.exe    C:\ftptest\testdownload.exe bye 解释: 前两条命

Spring中利用组件实现从FTP服务器上传/下载文件

FtpUtil.java import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import org.apache.commons.ne