设置NTFS的文件/文件夹安全权限
#include <windows.h>
void main(void)
{
SECURITY_ATTRIBUTES sa; //和文件有关的安全结构
SECURITY_DESCRIPTOR sd; //声明一个SD
BYTE aclBuffer[1024];
PACL pacl=(PACL)&aclBuffer; //声明一个ACL,长度是1024
BYTE sidBuffer[100];
PSID psid=(PSID) &sidBuffer; //声明一个SID,长度是100
DWORD sidBufferSize = 100;
char domainBuffer[80];
DWORD domainBufferSize = 80;
SID_NAME_USE snu;
HANDLE hfile,hfolder;
//初始化一个SD
InitializeSecurityDescriptor(&sd, SECURITY_DESCRIPTOR_REVISION);
//初始化一个ACL
InitializeAcl(pacl, 1024, ACL_REVISION);
//查找一个用户hchen,并取该用户的SID
LookupAccountName(0, "hchen", psid,
&sidBufferSize, domainBuffer,
&domainBufferSize, &snu);
//设置该用户的Access-Allowed的ACE,其权限为“所有权限”
AddAccessAllowedAce(pacl, ACL_REVISION, GENERIC_ALL, psid);
//把ACL设置到SD中
SetSecurityDescriptorDacl(&sd, TRUE, pacl, FALSE);
//把SD放到文件安全结构SA中
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.bInheritHandle = FALSE;
sa.lpSecurityDescriptor = &sd;
//由此创建的对象没有任何权限
hfolder=CreateDirectory("c:\\testfile",&sa); //创建文件夹
file = CreateFile("c:\\testfile", 0, 0, &sa, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, 0);//创建文件
CloseHandle(file);
CloseHandle(hfolder);
}
tq03wn21 原创文章 1获赞 0访问量 2496 关注 私信
- 文件/文件夹权限设置命令chmod的具体使用方法
- 创建文件并设置NTFS权限
- apache环境下禁止某文件夹内运行PHP脚本、禁止访问文件或目录执行权限的设置方法
- qq安全使用NTFS权限设置法
- 文件服务器的详细配置之共享权限与NTFS权限的设置
- Ubuntu 文件文件夹查看权限和设置权限
- apache在windows2003下的安全设置(配合文件夹权限目录,很好很安全)
- Vista文件/文件夹权限设置。
- Mac OSX 设置文件夹下特定用户组创建文件默认权限
- Access 数据库文件的 NTFS 权限设置
- destoon安全设置中需要设置可写权限的目录及文件
- Windows系统中的文件系统NTFS及权限设置介绍
- Windows Server 2008 R2 WEB 服务器安全设置指南(三)之文件夹权限设置
- 文件服务器的详细配置之共享权限与NTFS权限的设置
- 使用WMI修改文件文件夹的NTFS权限
- linux学习之(四)-用户、组的操作,给文件文件夹设置组,更改目录权限、文件权限
- LINUX安全运维之:文件系统的权限修改与安全设置
- ftp 文件、文件夹权限设置
- 解决问题:vs 使用命令行参数调试时出现"当前项目设置指定将使用特定的安全权限对该项目进行调试.在此模式下,命令行参数将不会传递给可执行文件."
- Linux下安全文件权限设置(转)