Форум: "Система";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
ВнизSECURITY ATTRIBUTES Найти похожие ветки
← →
Ермак © (2004-02-11 12:36) [0]Добрый день, уважаемые!
Подскажите пожалуйста, как работать c SECURITY ATTRIBUTES, или ссылку на инфу русскоязычную, а то в хелпе СДК так запутанно все, и Рихтер тоже отделался парой фраз...
Конкретнее: у меня есть программа-сервис под НТ. Она создает проецируемый в память файл. Какие нужно указать атрибуты, чтобы можно было его открыть из а)проги, работающей от админа
б)проги, работающей от любого логина? При указании 0 - не прокатывает, хотя Рихтер пишет, что админы могут открывать любой такой объект ядра.
Заранее огромное спасибо.
← →
Игорь Шевченко © (2004-02-12 11:27) [1]Как раз у Рихтера и Кларка очень подробно расписано, как работать с SECURITY_ATTRIBUTES, "Программирование серверных приложений для Windows 2000"
← →
Alexander1966 © (2004-02-13 10:29) [2]Джеффри РИХТЕР
"Создание эффективных WIN32-приложений
с учетом специфики 64-разрядной версии Windows"
Там и кроме этого масса полезной информации
← →
Ермак © (2004-02-14 10:51) [3]У Рихтера в "Создание эффективных Вин32 приложений..." ничего подробно не пишется. Там только то, как сделать нормальный средний случай. Об остальном он отговаривается, что дескать это все равно очень редко используется. А "Прог СЕрвер Прил" очень дорогая и купить возможности нет.
Может кто в Инете натыкался на электронную версию книги или просто подходящую инфу?
Если нет, то может подскажете, как для этого конкретного случая написать? Был бы чрезвыяайно благодарен. Хотя б общий принцип, как там устанавливается привилегия.
← →
ZZ © (2004-02-14 22:40) [4]a) 0 (или что значт "от админа"?)
б) MSDN
Creating a Null DACL
The following example creates a mutex with a null DACL.
If you are creating one of these objects in an application and the object will be shared with a service, you could also use a null DACL to grant everyone access. As an alternative, you could add an access-control entry (ACE) to the DACL that grants access to the user account that the service is running under. This would restrict access to the object to the service.
PSECURITY_DESCRIPTOR pSD;
SECURITY_ATTRIBUTES sa;
pSD = (PSECURITY_DESCRIPTOR) LocalAlloc(LPTR,
SECURITY_DESCRIPTOR_MIN_LENGTH);
if (pSD == NULL)
Error(...);
if (!InitializeSecurityDescriptor(pSD, SECURITY_DESCRIPTOR_REVISION))
Error(...);
// Add a null DACL to the security descriptor.
if (!SetSecurityDescriptorDacl(pSD, TRUE, (PACL) NULL, FALSE))
Error(...);
sa.nLength = sizeof(sa);
sa.lpSecurityDescriptor = pSD;
sa.bInheritHandle = TRUE;
← →
Ермак © (2004-02-15 14:50) [5]Спасибо, работает.
Но... Я хотел бы сделать различный доступ для различных пользователей. КАК это сделать В ПРИНЦИПЕ я уже разобрался. Решил написать библиотечку на VisualC++. Короче говоря, прочитал, что для SECURITY_ATTRIBUTES есть удобные классы в какой-то стандартной библиотеке ATL. Только как эту библиотеку подключить, я не дотумкал. ATL.H - такого нет. ИСкал в папке Висуал С файл с CSecurityAttributes - тоже нет. По ходу, эта библиотека вообще в VC не входит.
Может кто знает, где ее достать можно? Подскажите, плз.
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.034 c