Windows上使用Python增加或删除权限的方法

yipeiwu_com6年前Python基础

在使用Python在 Windows 平台上开发的时候, 有时候我们需要动态增加或删除用户的某些权限, 此时我们可以通过 AdjustTokenPrivileges API 来实现。

比如,我们要给用户分配 SE_TCB_NAME 权限

flags = win32security.TOKEN_ADJUST_PRIVILEGES | win32security.TOKEN_QUERY
token = win32security.OpenProcessToken(win32api.GetCurrentProcess(), flags)
id = win32security.LookupPrivilegeValue(None, win32security.SE_TCB_NAME)
privilege = [(id, win32security.SE_PRIVILEGE_ENABLED)]
print win32security.AdjustTokenPrivileges(token, False, privilege)

比如,我们要给用户去除 SE_TCB_NAME 权限

flags = win32security.TOKEN_ADJUST_PRIVILEGES | win32security.TOKEN_QUERY
token = win32security.OpenProcessToken(win32api.GetCurrentProcess(), flags)
id = win32security.LookupPrivilegeValue(None, win32security.SE_TCB_NAME)
privilege = [(id, 0)]
print win32security.AdjustTokenPrivileges(token, False, privilege)

以上这篇Windows上使用Python增加或删除权限的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python 实现Flask中返回图片流给前端展示

场景需求:需要在Flask服务器的本地找一张图片返回给前端展示出来。 问题疑点:通常前端的<img>标签只会接受url的形式来展示图片,没试过在返回服务器本地的一张图片给前端...

最基础的Python的socket编程入门教程

本文介绍使用Python进行Socket网络编程,假设读者已经具备了基本的网络编程知识和Python的基本语法知识,本文中的代码如果没有说明则都是运行在Python 3.4下。 Pyth...

python如何查看系统网络流量的信息

前言 流量信息可以直接在/proc/net/dev中进行查看,笔者实现的程序使用命令: python net.py interface 其中interface为网卡名称,使用什么网...

Python与shell的3种交互方式介绍

概述 考虑这样一个问题,有hello.py脚本,输出”hello, world!”;有TestInput.py脚本,等待用户输入,然后打印用户输入的数据。那么,怎么样把hello.py输...

Python&&GDAL实现NDVI的计算方式

Python&&GDAL实现NDVI的计算方式

很短的几句代码,可是我却花了很长的时间才写出来,因为array那里的除法运算结果老是不对,正常在-1-1之间的。从别的资料摘来处理NDVI计算的array代码处,出现了很多问题,可能它用...