Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > безопасность объектов


Автор: Loginanton 4.3.2010, 23:31
изучаю тему безопасности объектов win32, написал маленькую программку:
Код

#include <windows.h>
#include <stdio.h>
#include <Sddl.h>

HANDLE hF; // file handle
SECURITY_ATTRIBUTES sa;

void fffuuu()
{
    printf("fffuuu\n");
    CloseHandle(hF);
    ExitProcess(0);
}

int main()
{
    sa.nLength=sizeof(SECURITY_ATTRIBUTES);
    sa.bInheritHandle = 0;
    
    if(ConvertStringSecurityDescriptorToSecurityDescriptor("O:BAD:(A;;GAFR;;;BG)",SDDL_REVISION_1,(PSECURITY_DESCRIPTOR*)&sa.lpSecurityDescriptor,0)==0)
        fffuuu();
    hF = CreateFile("file.txt",GENERIC_WRITE,0,&sa,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);
    if(hF==INVALID_HANDLE_VALUE)
        fffuuu();
    printf("yyyeee\n");
    return 0;
}

проблема в том что она работает неправильно - я хочу чтоб она создавала файл file.txt который встроенный пользователь гость мог только прочесть. И ещё вопрос: как можно узнать владельца файла, и права доступа к этому файлу текущего пользователя (интересует только чтение, запись и исполнение)
Буду благодарен всякой помощи

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)