博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Access Control
阅读量:4983 次
发布时间:2019-06-12

本文共 1761 字,大约阅读时间需要 5 分钟。

#include 
int main(){ // Create file with multiple flags. HANDLE file = CreateFile("d:\\", STANDARD_RIGHTS_WRITE | WRITE_DAC, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, // This flag must be set. NULL); // Save old DACL. PSECURITY_DESCRIPTOR pSd = NULL; PACL pOldDacl = NULL, pNewDacl = NULL; GetSecurityInfo(file, SE_FILE_OBJECT, DACL_SECURITY_INFORMATION, NULL, NULL, &pOldDacl, NULL, &pSd); // Create new ACE. EXPLICIT_ACCESS ea = {}; ea.grfAccessMode = SET_ACCESS; // Reset or grant or deny, etc. ea.grfAccessPermissions = GENERIC_ALL; // GENERIC_READ | GENERIC_WRITE | GENERIC_EXECUTE. ea.grfInheritance = SUB_CONTAINERS_AND_OBJECTS_INHERIT; // Whether take effect on sub containers. ea.Trustee.TrusteeForm = TRUSTEE_IS_NAME; // 'ptstrName' is a name field. ea.Trustee.TrusteeType = TRUSTEE_IS_USER; // 'ptstrName' is a user name field. ea.Trustee.ptstrName = "EveryOne"; // User name. SetEntriesInAcl(1, &ea, pOldDacl, &pNewDacl); // Combine old ACEs and new ACE. // Set new DACL.(containing old ACEs) SetSecurityInfo(file, SE_FILE_OBJECT, DACL_SECURITY_INFORMATION, NULL, NULL, pNewDacl, NULL); // Release resource. LocalFree(pNewDacl); LocalFree(pSd); CloseHandle(file); return 0;}

转载于:https://www.cnblogs.com/walfud/archive/2012/11/13/2768274.html

你可能感兴趣的文章
PHP初入,div知识点整理(特效&字体等元素的使用整理)
查看>>
对象和map互相转换工具类
查看>>
Android Studio 问题解决List
查看>>
Oracle将密码有效期由默认的180天修改成无限制
查看>>
iOS实现简单时钟效果
查看>>
部署和调优 1.3 pureftp部署和优化-2
查看>>
linux 下tar 的用法
查看>>
Office 浏览
查看>>
Context
查看>>
邁向IT專家成功之路的三十則鐵律 鐵律十七:IT人休閒之道-清心
查看>>
算法训练 安慰奶牛_201403161100
查看>>
chrome浏览器Uncaught TypeError: object is not a function问题解决
查看>>
01_JavaMail_03_邮件发送简单实例
查看>>
Putty 工具 保存配置的 小技巧
查看>>
jQuery学习(一)
查看>>
POJ 2503.Babelfish-sscanf()函数+strcmp()函数+二分
查看>>
(4.9)mysql备份还原——binlog查看工具之mysqlbinlog的使用
查看>>
译文质量评价
查看>>
基于RTP的h.264视频传输系统(三)
查看>>
从零开始:iOS(一)
查看>>