lukmus
05.01.2010, 06:37
этот код создает папку C:\DACL и формирует для нее ACL, а точнее DACL, запрещающий доступ BG,SY,BA,IU,BU
#include "stdafx.h"
#include <windows.h>
#include <sddl.h>
int main(int argc, char* argv[])
{
SECURITY_ATTRIBUTES sa;
sa.nLength=sizeof(SECURITY_ATTRIBUTES);
sa.bInheritHandle=false;
char *szSD = "D:P"
"(D;OICI;GA;;;BG)" //встроенная группа guests
"(D;OICI;GA;;;SY)" //local system
"(D;OICI;GA;;;BA)" //builtin admininstrators
"(D;OICI;GA;;;IU)" //interactive
"(D;OICI;GA;;;BU)"; //builtin users
if (ConvertStringSecurityDescriptorToSecurityDescript or(szSD,SDDL_REVISION_1,&(sa.lpSecurityDescriptor),NULL)){
if (!CreateDirectory("C:\\DACL",&sa))DWORD err=GetLastError();
}
LocalFree(sa.lpSecurityDescriptor);
return 0;
}
Можно ли после запуска этой программы изменить права к этой папке или удалить ее программно ?
#include "stdafx.h"
#include <windows.h>
#include <sddl.h>
int main(int argc, char* argv[])
{
SECURITY_ATTRIBUTES sa;
sa.nLength=sizeof(SECURITY_ATTRIBUTES);
sa.bInheritHandle=false;
char *szSD = "D:P"
"(D;OICI;GA;;;BG)" //встроенная группа guests
"(D;OICI;GA;;;SY)" //local system
"(D;OICI;GA;;;BA)" //builtin admininstrators
"(D;OICI;GA;;;IU)" //interactive
"(D;OICI;GA;;;BU)"; //builtin users
if (ConvertStringSecurityDescriptorToSecurityDescript or(szSD,SDDL_REVISION_1,&(sa.lpSecurityDescriptor),NULL)){
if (!CreateDirectory("C:\\DACL",&sa))DWORD err=GetLastError();
}
LocalFree(sa.lpSecurityDescriptor);
return 0;
}
Можно ли после запуска этой программы изменить права к этой папке или удалить ее программно ?