修改文件所有者和权限
来源:互联网 发布:淘宝淘口令在哪看 编辑:程序博客网 时间:2024/05/29 19:23
修改文件的所有者并添加everyone完全控制权限。一定要先设置一下Owner,然后再进行权限设置,二者一起执行是不会成功的。
BOOL AdjustPrivileges(LPWSTR lpName){ HANDLE hToken = NULL; TOKEN_PRIVILEGES tp = {0}; TOKEN_PRIVILEGES oldtp = {0}; DWORD dwSize = sizeof(TOKEN_PRIVILEGES); LUID luid = {0}; if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) { if (GetLastError()==ERROR_CALL_NOT_IMPLEMENTED) return TRUE; else return FALSE; } if (!LookupPrivilegeValueW(NULL, lpName, &luid)) { CloseHandle(hToken); return FALSE; } tp.PrivilegeCount=1; tp.Privileges[0].Luid = luid; tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; /* Adjust Token Privileges */ if (!AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(TOKEN_PRIVILEGES), &oldtp, &dwSize)) { CloseHandle(hToken); return FALSE; } // close handles CloseHandle(hToken); return TRUE;}BOOL TakeOwner(char *FilePath){ CHAR UserName[36]; DWORD cbUserName = sizeof(UserName); CHAR Sid[1024] = {0}; DWORD cbSid = sizeof(Sid); CHAR DomainBuffer[128] = {0}; DWORD cbDomainBuffer = sizeof(DomainBuffer); SID_NAME_USE eUse; PACL Dacl = NULL,OldDacl = NULL; EXPLICIT_ACCESS Ea; PSECURITY_DESCRIPTOR Sd = NULL; BOOL Ret = FALSE; if (AdjustPrivileges(SE_TAKE_OWNERSHIP_NAME) && AdjustPrivileges(SE_RESTORE_NAME)) { GetUserNameA(UserName,&cbUserName); if (LookupAccountNameA(NULL,UserName,&Sid,&cbSid,DomainBuffer,&cbDomainBuffer,&eUse)) { ZeroMemory(&Ea,sizeof(EXPLICIT_ACCESS)); GetNamedSecurityInfoA(FilePath,SE_FILE_OBJECT, DACL_SECURITY_INFORMATION,NULL, NULL, &OldDacl, NULL, &Sd); BuildExplicitAccessWithNameW(&Ea,L"everyone",GENERIC_ALL,GRANT_ACCESS,SUB_CONTAINERS_AND_OBJECTS_INHERIT); if (SetEntriesInAclW(1,&Ea,OldDacl,&Dacl) == ERROR_SUCCESS) { SetNamedSecurityInfoA(FilePath,SE_FILE_OBJECT,OWNER_SECURITY_INFORMATION ,&Sid,NULL,NULL,NULL); if (SetNamedSecurityInfoA(FilePath,SE_FILE_OBJECT,OWNER_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION,&Sid,NULL,Dacl,NULL) == ERROR_SUCCESS) { Ret = TRUE; } } } } return Ret;}
0 0
- 修改文件所有者和权限
- 修改文件的所有者和权限
- linux基本权限 --修改文件所有者和所有组命令
- ubuntu 修改文件目录所有者/权限
- chmod修改文件的权限/chown修改文件和目录的所有者
- 山寨笔记-linux下修改文件的所有者、用户组和权限
- 文件所有者、用户组和其他人的概念理解以及修改权限的操作
- linux 修改文件用户组和所有者
- Linux下批量修改文件及文件夹所有者及权限
- linux下批量修改文件及文件夹所有者及权限
- Linux 批量修改文件及文件夹所有者及权限
- Linux下批量修改文件及文件夹所有者及权限
- 批量修改文件(或文件夹)权限或所有者
- 修改文件所有者
- Ubuntu中更改所有子文件和子目录所有者权限
- Ubuntu中更改所有子文件和子目录所有者权限
- Ubuntu中更改所有子文件和子目录所有者权限
- Ubuntu中更改所有子文件和子目录所有者权限
- 重装windows系统后恢复原来的ubuntu系统的方法
- 类模版继承
- CryptAPI RSA加密解密
- MacOX以及XCode下文件结束符(EOF)的输入
- 记录2--ubuntu保存默认的亮度
- 修改文件所有者和权限
- 软考之路--小桥流水人家
- JSP内置对象-request传来的数据中文乱码处理
- 轻松学会多线程(一)——大数据时代需要多线程
- 【行业翘楚】井田云:化解线上线下冲突让鱼与熊掌皆得
- 机器学习和计算机视觉相关的数学
- Extjs4.2 Desktop 桌面图标拖动白屏的解决
- LeetCode | Remove Duplicates from Sorted List
- 记录1--ubuntu14安装mentohust