1. 安全身份

Windows的安全模型是以用户为线索的,用户的身份是在登录系统时验证的。

除了用户外,还可以有一些特殊实体需要拥有安全的身份,以便进行验证,比如groups, domain等等。

Windows通过使用SID来标识一个实体的安全身份,重装过系统的同学会有类似的经验,对于上一个Windows系统留下来的文件夹,它的Owner会是一串以S-开头的数字,它就是上一个系统的用户的SID。

在注册表HKEY_USERS中,以及DACL属性页中都能够看到SID的身影。

2. 令牌(Access Token)

Access Token是一个内核对象,是用来标识一个进程或者线程所拥有的安全权限的对象。

通常这个权限是继承来的,CreateProcess/CreateThread时,允许设置Security Descriptor来限定子进程的权限,如果不加限定,那么子进程就继承了父进程的权限。

这些权限规定了对于系统中的资源的访问能力。某项资源究竟允许谁来访问,是由这项资源的Owner说了算的,这也是Windows安全模型中的最重要的原则。

3. Impersonation

说白了,就是顶替某个用户的安全身份去做一件事,比如访问某项资源。

这通常是必要的,因为当一个服务端的进程要代表某个客户端的程序去进行操作时,必须能够仿真这个客户端程序的安全身份,Impersonation就是这样一种机制。

4. 修改权限

这是一种终极的能力,如果你能修改任何人的权限,那么你就几乎能做任何事。通常这种能力仅限于系统管理员。

可以使用AdjustTokenPrivileges来修改Token的权限。

The AdjustTokenPrivileges function enables or disables privileges in the specified access token. Enabling or disabling privileges in an access token requires TOKEN_ADJUST_PRIVILEGES access.

http://msdn.microsoft.com/en-us/library/windows/desktop/bb530716(v=vs.85).aspx列出了令牌的特权列表。

Windows的安全模型的更多相关文章

  1. windows多线程编程星球(一)

    以前在学校的时候,多线程这一部分是属于那种充满好奇但是又感觉很难掌握的部分.原因嘛我觉得是这玩意儿和编程语言无关,主要和操作系统的有关,所以这部分内容主要出现在讲原理的操作系统书的某一章,看完原理是懂 ...

  2. windows 安全模型简介

    操作系统中有些资源是不能由用户代码直接访问的,比如线程进程,文件等等,这些资源必须由系统级代码由RING3层进入到RING0层操作,并且返回一些标识供用户程序使用,一般调用某个函数陷入到内核,这样的函 ...

  3. Windows 7您的凭据不工作

    假设计算机A要远程连接到计算机B 一.参考链接 http://jingyan.baidu.com/article/148a1921a807d34d70c3b143.html 在计算机B上操作 快捷键 ...

  4. windows远程控制

    windows+r  输入 mstsc 打开远程控制 首先,确定目标机器支持远程控制 问题解决: Win7远程桌面提示您的凭据不工作: http://jingyan.baidu.com/article ...

  5. windows phone 8 开发系列(三)程序清单说明与配置

    一 清单文件内容介绍 当我们先建了一个项目之后,我们可以看到vs自动会为我们创建了很多文件,正常人都会先一个个去翻看下每个文件都是干啥的,都主要写了些啥,在这些文件中,在Properies目录下面,我 ...

  6. Windows Server 2008下共享资源访问走捷径 (不用用户名 和 密码 访问共享)

    1. 启用来宾帐号2. 共享目录添加“Guest”帐号3. “gpedit.msc”,打开对应系统的组策略编辑窗口;在该编辑窗口的左侧显示区域,依次展开“本地计算机策略”/“计算机配置”/“Windo ...

  7. windows 7 共享,未授予用户在此计算机上的请求登录类型

    刚刚重装了windows7,新下载的一个ghost版本,结果却不能共享,每次访问这台机器的共享都提示, 未授予用户在此计算机上的请求登录类型 这个情况好像是存在于win7访问win7,我用一台XP系统 ...

  8. Windows Server AppFabric 安装文档

    安装指南 入门标题页 3 Windows Server AppFabric 安装和配置指南 3 版权 3 版权所有 3 简介 3 清单:规划安装 4 硬件要求 4 使计算机作好安装准备 5 本节内容 ...

  9. Windows 10新功能

    Windows 10 中面向开发人员的新增功能 Windows 10 及新增的开发人员工具将提供新通用 Windows 平台支持的工具.功能和体验.在 Windows 10 上安装完工具和 SDK后, ...

随机推荐

  1. Windows操作系统架构

    用户态 用户态有四类组件,这四类组件都是以进程形式存在的,也就是说,它们都有自己的进程地址空间(其实就是一套页表). 1. System Support Processes 这些是固化的进程,也就是说 ...

  2. Mysql任意读取客户端文件复现

    本机执行 python rogue_mysql_server.py 目标机器上连接本机数据库 mysql -u root -p -h 本机IP mysql -h 192.168.250.132 -ur ...

  3. Spring Cloud注册中心高可用搭建

    Spring Cloud的注册中心可以由Eureka.Consul.Zookeeper.ETCD等来实现,这里推荐使用Spring Cloud Eureka来实现注册中心,它基于Netfilix的Eu ...

  4. iview 的table组件,自带过滤功能

    html : <Table :columns="people" :data="scores"></Table> data: people ...

  5. css 深入理解

    场景一.边框半透明,背景绿色 默认情况下背景会延伸到边框所在的下边 css2 中我们只能接受  css3 中我们可以通过 background-clip 属性来实现 border: 10px soli ...

  6. PyCharm与git/GitHub取消关联

    如果你从github 上down下的个项目,用pycharm 打开的时候,选择了git管理,导致你只要做了修改,就会有颜失标记,即使没有强迫症,看着也很难受啊 聪敏的我赶快找度娘,总结如下解决方法 在 ...

  7. JS鼠标提示框效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. ionic ios上状态栏和app重叠解决方案

    干货文章 ·2018-03-22 01:33:01 官方issues: https://github.com/ionic-team/ionic/issues/13294 解决办法: 1.在 confi ...

  9. linux下如何挂载磁盘

    1.显示磁盘使用情况:#df 2.显示磁盘:#fdisk -l 3.格式化分区:#mkfs.ext4 /dev/vdb1           //注:将/dev/vdb1格式化为ext4类型(文件类型 ...

  10. Linux 任务管理器(二)

    特殊文件与进程 fuser命令 [root@localhost home]# fuser -muv . 用户 进程号 权限 命令 /home: root kernel mount (root)/hom ...