Re: filesecurity (q)
- From
- Alex Fedotov ()
- To
- Yury Haron
- Date
- 2002-04-28T10:02:48Z
- Area
- SU.WINDOWS.NT.PROG
From: "Alex Fedotov" <me@alexfedotov.com>
Yury Haron wrote:
> Есть ли возможность из пpоцесса запyщенного _любым_ пользователем (сиpечь
> ypовень пpивелегий заpанее неизвестен) создав файл/диpектоpию "понизить"
> ей секypность до ypовня гаpантиpованно достyпного _любомy_ пользователью?
> Разyмеется, подpазyмевается, что пpава на создание файла/диpектоpии по
> данномy пyти y пpоцесса точно есть.
Да. Создатель-владелец объекта всегда имеет право доступа WRITE_DAC к
объекту. Это значит, что ты можешь вызвать SetFileSecurity, чтобы установить
произвольный DACL (можно указать нужный дескриптор безопасности и сразу при
создании файла/каталога). Например, NULL DACL дает полный доступ всем
пользователям.
Код ниже инициализирует дескриптор безопасности с NULL DACL.
SECURITY_DESCRIPTOR SecDesc;
InitializeSecurityDescriptor(&SecDesc, SECURITY_DESCRIPTOR_REVISION);
SetSecurityDescriptorDacl(&SecDesc, TRUE, NULL, FALSE);
SECURITY_ATTRIBUTES sa;
sa.nLength = sizeof(sa);
sa.lpSecurityDescriptor = &SecDesc;
sa.bInheritHandle = FALSE;
CreateDirectory(pszPathName, &sa);
CreateFile(..., &sa, ...);
-- Alex Fedotov
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)