Server-U FTP与AD完美集成方案详解
最近咱有个任务,那就是把公司的文件服务器、FTP服务器、邮件服务器进行迁移并作相应的整合。登陆后台查看了,公司目前正在使用的方案。FTP服务器使用的是Server-u FTP,验证方式选择的windows身份验证。文件服务器使用的windows本身自带的NTFS权限进行分配的,而邮件服务器使用的是IBM的domino。
既然知道了现在使用的方案以及相关的软件,那就整合呗。参考了下Server-U FTP最新版是支持AD方式与LDAP方式验证的,同时也发现domino也是支持AD的,不过听说配置很复杂。有关AD与domino的集成,我会在下一篇文章中进行讲解的。这次我们只进行AD与Server-U FTP的讲解。
要进行Server-U与AD的集成,对我们有以下几点要求:
1、 对必须Server-U非常熟悉,能熟练的进行对Server-U进行各项配置。
2、 对AD必须非常熟悉,能独立的安装、配置、操作AD。
3、 对NTFS的权限配置要知道,并且能按照要求进行相关的配置。
我们以下的全部试验是在服务器windows server 2003 企业版下进行的,IP为192.168.128.133,客户端为XP,IP为192.168.128.134。
首先、我们要安装并配置好AD,有关AD的安装及配置各位可以去百度或者google中去搜搜吧,在这我就不做多余的讲解了。
以上是AD正确配置的相关显示信息,这样配置完毕后我们要建立相应的组织单位。其中组织单位的名称一定不能是中文,这个千万要记着,要不然在与Server-U进行集成后FTP是无法登陆的。
在此我们新建一个组织单位,截图如下:
然后,我们在“erxian”和“ceshi”这两个组织下分别新建一个用户“erxian1”和“ceshi1”:
AD中的相关配置就完成了,下面主要是进行Server-U中的配置。
安装完成Server-U后,会提示你新建一个域(PS:此域与AD中域是不同的),如下图:
按照提示进行填写在,完成后会再次提示你新建用户,如下图示:
此时我们点击“否”,然后去控制面板,找到“用户”选项下的“配置windows身份验证设置”:
在弹出的窗口中,点击“启用windows验证”即可,如下图:
然后在弹出的窗口中填写,AD的域名即可,如下图:
保存完毕后,点击“配置OU群组”,在弹出的窗口中填写与AD组织单位结构相同的名称如下图:
其中在配置此项过程中,我们可以建立相应的访问目录,及相应目录访问的权限:
其中群组的“根目录”必须进行设置,而“目录访问”可以不设置。好了,以上设置完毕后。我们开始对FTP的相关访问目录进行设置了。我们现在的FTP根目录是 C:\testFTP,其中该目录下还有其他几个目录。如下图:
其中“testFTP”目录的NTFS权限是:
普通域用户是读取和查看的权限
目录“测试部”、“二线部”属于各自的组织单位的成员都能进行各自目录的全部权限。如下图:
也许你会问,此图中怎么没有看到单独的用户访问权限呢?那是因为图中的“二线部”是一个组,这个就是AD中的一个组了。上图中权限是只要是AD的二线部组中的所有成员都可以对目录“二线部”进行相关的操作。
我们为什么要这样操作呢?主要是为了以后我们,操作的方便。如果新来一位人员,我们只需要添加一个新的账户,然后把他添加到该组中就可以了。以后他的权限,我们就不需要配置了。
好了以上终于配置完毕了,我们现在登陆客户端进行相关的测试吧。
通过以上截图,我们可以知道现在“erxian1”用户,已经可以登陆FTP,同时还可以在“二线部”此目录下新建文件夹。那么我们此时切换到“测试部”目录下看看能不能进去。
可以看到提示没有权限访问。那就说明我们的目的达到了,通过Server-U提供FTP服务,由AD来提供账户,由NTFS进行权限的设置。
PS:其实还有一个问题,那就是,Server-U和NTFS都可以设置权限,那么最后的权限到底是如何的呢?
这个问题,经过我测试最后的权限是叠加的……
本文出自 “烂泥行天下” 博客,转载请与作者联系!
Server-U FTP与AD完美集成方案详解的更多相关文章
- 最佳实战Docker持续集成图文详解
最佳实战Docker持续集成图文详解 这是一种真正的容器级的实现,这个带来的好处,不仅仅是效率的提升,更是一种变革:开发人员第一次真正为自己的代码负责——终于可以跳过运维和测试部门,自主维护运行环境( ...
- 莱特币ltc在linux下的多种挖矿方案详解
莱特币ltc在linux下的多种挖矿方案详解 4.0.1 Nvidia显卡Linux驱动Nvidia全部驱动:http://www.nvidia.cn/Download/index.aspx?lang ...
- 安卓集成发布详解(二)gradle
转自:http://frank-zhu.github.io/android/2015/06/15/android-release_app_build_gradle/ 安卓集成发布详解(二) 15 Ju ...
- SQL Server中通用数据库角色权限的处理详解
SQL Server中通用数据库角色权限的处理详解 前言 安全性是所有数据库管理系统的一个重要特征.理解安全性问题是理解数据库管理系统安全性机制的前提. 最近和同事在做数据库权限清理的事情,主要是删除 ...
- SQL Server中排名函数row_number,rank,dense_rank,ntile详解
SQL Server中排名函数row_number,rank,dense_rank,ntile详解 从SQL SERVER2005开始,SQL SERVER新增了四个排名函数,分别如下:1.row_n ...
- 基于rem的移动端响应式适配方案(详解) 移动端H5页面的设计稿尺寸大小规范
基于rem的移动端响应式适配方案(详解) : https://www.jb51.net/article/118067.htm 移动端H5页面的设计稿尺寸大小规范 http://www.tuyiyi.c ...
- SpringBoot系列(六)集成thymeleaf详解版
SpringBoot系列(六)集成thymeleaf详解版 1. thymeleaf简介 1. Thymeleaf是适用于Web和独立环境的现代服务器端Java模板引擎. 2. Thymeleaf ...
- App域名劫持之DNS高可用 - 开源版HttpDNS方案详解(转)
http://mp.weixin.qq.com/s?__biz=MzAwMDU1MTE1OQ==&mid=209805123&idx=1&sn=ced8d67c3e2cc3 ...
- 性能百万/s:腾讯轻量级全局流控方案详解
WeTest 导读 全新的全局流控实现方案,既解决了目前流控的实现难点,同时保证运行稳定且流控准确的前提下,实现更简单,部署成本更低,容灾能力更强. 该方案组件化之后,可以推广到别的有需要的部门使用, ...
随机推荐
- Linux的打印rpm包的详细信息的shell脚本
#!/bin/bash # list a content summary of a number of RPM packages # USAGE: showrpm rpmfile1 rpmfile2 ...
- Pandas速查手册中文版
本文翻译自文章: Pandas Cheat Sheet - Python for Data Science ,同时添加了部分注解. 对于数据科学家,无论是数据分析还是数据挖掘来说,Pandas是一个非 ...
- GZip 压缩及解压缩
/// <summary> /// GZipHelper /// </summary> public class GZipHelper { /// <summary> ...
- Python-Cpython解释器支持的进程与线程-Day9
Cpython解释器支持的进程与线程 阅读目录 一 python并发编程之多进程 1.1 multiprocessing模块介绍 1.2 Process类的介绍 1.3 Process类的使用 1.4 ...
- Redux应用单一的store原则案例详解
在开发reac单页面应用的时候,页面的展示逻辑跟数据状态的关系管理变得越来越复杂,redux很好的解决这个问题.废话不多说,直接先上官网api链接. http://cn.redux.js.org/in ...
- 如何在Java中避免equals方法的隐藏陷阱
摘要 本文描述重载equals方法的技术,这种技术即使是具现类的子类增加了字段也能保证equal语义的正确性. 在<Effective Java>的第8项中,Josh Bloch描述了当继 ...
- SQL查询语句练习
最近在学习SQL嘛,所以各个地方找题目来练手,毕竟现在能离得开数据库么? Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C ...
- 为什么我不推荐你使用vue-cli创建脚手架?
最近在知乎看到一个问题,原问题如下: "很奇怪,为什么现在能找到自己手动创建vue脚手架的文章非常少,而且大家似乎对webpack4的热情并不高,对于想基于vue2.0+webpack4搭建 ...
- 从零搭建 webpack3 环境 #1 - 安装使用
目录: (1)什么是webpack (2)webpack核心概念 (3)环境安装 (4)开始使用webpack 1.什么是webpack 官网的一幅图对webpack的解释,从图中可以看出,webpa ...
- Python学习之dict和set
#coding=utf-8 # dict dict= {'bob': 40, 'andy': 30} print dict['bob'] # 通过dict提供的get方法,如果key不存在,可以返回N ...