修改文件用户组的访问权限
2010-04-13 18:41
387 查看
一朋友问到的,于是参考了范文庆
《精通Windows API--函数接口编程实例》
书中的相关文档,自己整理出一个DEMO,有兴趣看看!
cl /O2 Securtiy.cpp
over...
《精通Windows API--函数接口编程实例》
书中的相关文档,自己整理出一个DEMO,有兴趣看看!
///////////////////////////////////////////////////////////// // Securtiy.cpp // 设置NTFS文件用户组权限 // BY Koma 2010.04.13 #include <windows.h> #pragma comment(lib,"user32.lib") #pragma comment(lib,"Advapi32.lib") int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR pszCmdLine, int cmdShow) { SECURITY_ATTRIBUTES sa; // 和文件有关的安全结构 SECURITY_DESCRIPTOR sd; // 声明一个SD BYTE aclBuffer[1024]; // buffer PACL pacl = (PACL)&aclBuffer;// 声明一个ACL,长度是1024 BYTE sidBuffer[100]; // sid buffer PSID psid = (PSID)&sidBuffer; // 声明SID,长度是100 DWORD sidBufferSize = 100; DWORD domainBufferSize = 80; char domainBuffer[80]; HANDLE hFile; SID_NAME_USE snu; // 初始化SD、初始化ACL InitializeSecurityDescriptor(&sd, SECURITY_DESCRIPTOR_REVISION); InitializeAcl(pacl, 1024, ACL_REVISION); // 查找用户Koma,并取该用户的SID LookupAccountName(0, "Koma",psid,&sidBufferSize, domainBuffer,&domainBufferSize, &snu); // 设置该用户的Access-Allowed的ACE,其权限为All-Access 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; // 开始创建文件 hFile = CreateFile("D://Test.txt",0, 0, &sa, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, 0); if(hFile == INVALID_HANDLE_VALUE) { MessageBox(NULL,"创建失败!",NULL,NULL); return -1; } MessageBox(NULL,"创建成功!",NULL,NULL); CloseHandle(hFile); return 0; }
cl /O2 Securtiy.cpp
over...
相关文章推荐
- Linux中修改文件或目录的用户组和访问权限
- 修改文件用户组的访问权限
- hadoop文件系统访问权限修改延迟,或者是权限更新延迟,权限缓存问题
- 解决useradd 用户后没有添加用户Home目录的情况,Linux改变文件或目录的访问权限命令,linux修改用户密码
- 巧用Cacls.exe命令来修改文件访问控制权限
- Linux权限修改 - 更改文件的拥有者及用户组
- Cacls.exe 命令行下修改文件访问控制权限
- PowerShell: 如何获取和修改文件或文件夹的访问权限
- ubuntu 下修改文件访问权限
- C#修改文件或文件夹的权限,为指定用户、用户组添加完全控制权限
- Cacls.exe 命令行下修改文件访问控制权限
- ubuntu修改文件访问权限
- 用Cacls.exe修改文件访问权限
- linux下目录权限查看与修改以及文件和目录访问权限设置
- 误修改/etc目录下所有文件权限导致无法远程访问
- linux 修改目录文件权限,目录文件所属用户,用户组
- 修改文件(夹)的用户访问权限的程序代码
- c++修改文件(夹)的用户访问权限程序代码
- 命令行下修改文件访问权限
- Ubuntu 操作系统修改文件访问权限