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)