Привилегии для файловых операций
От: Kingofastellarwar Украина  
Дата: 20.12.16 19:09
Оценка:
Нужно иметь права чтобы делать энумерацию папок и файлов на всех разделах, а так читать файлы и инфу о них

оказалось что по умолчанию лазить де попало не разрешено, поэтому нашел код который запрашивает SE_BACKUP_NAME

    HANDLE hAccessToken = NULL;
        LUID luidPrivilege;
        DWORD dwErrorCode;

        if (!OpenProcessToken (GetCurrentProcess(),
                               TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,
                               &hAccessToken))
            return;

        if (LookupPrivilegeValue (NULL, SE_BACKUP_NAME, &luidPrivilege)) {
            TOKEN_PRIVILEGES tpPrivileges;
            tpPrivileges.PrivilegeCount = 1;
            tpPrivileges.Privileges[0].Luid = luidPrivilege;
            tpPrivileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
            AdjustTokenPrivileges (hAccessToken, FALSE, &tpPrivileges, 
                                   0, NULL, NULL);
            if ((dwErrorCode = GetLastError ()) != ERROR_SUCCESS)
                return;
        }
        else
            return;


а нужно ли SE_BACKUP_NAME, не слишком ли это много, может чтото поменьше хватит?
Я изъездил эту страну вдоль и поперек, общался с умнейшими людьми и я могу вам ручаться в том, что обработка данных является лишь причудой, мода на которую продержится не более года. (с) Эксперт, авторитет и профессионал из 1957 г.
Re: Привилегии для файловых операций
От: PanychY  
Дата: 21.12.16 15:05
Оценка: +1
Здравствуйте, Kingofastellarwar, Вы писали:

K>а нужно ли SE_BACKUP_NAME, не слишком ли это много, может чтото поменьше хватит?


Так точно, этого вообще много. C этой привилегией получаете доступ на всю ФС обходя настройки прав ФС, ибо это функция предназначена для пользователей от имени которых выполняется процесс бекапа.
Если нельзя пользователю ходить по файлам, то нельзя. Запускайтесь от имени нужного пользователя. Либо на ФС давайте права.
Re[2]: Привилегии для файловых операций
От: Pavel Dvorkin Россия  
Дата: 21.12.16 15:46
Оценка: +1
Здравствуйте, PanychY, Вы писали:

PY>Если нельзя пользователю ходить по файлам, то нельзя. Запускайтесь от имени нужного пользователя. Либо на ФС давайте права.


Добавлю от себя. После установки Windows есть совсем немного папок, энумерация и чтение содержимого которых пользователю типа User запрещена, и эти папки вряд ли нужно ему энумеровать. Например, чужой профиль нельзя.
Значит, на диске кто-то создал папки, установив им такие разрешения, что не всем пользователям можно туда соваться. Откуда же взялось требование произвольному пользователю их энумерировать ? Что-то тут в постановке задачи не так.
With best regards
Pavel Dvorkin
Re[3]: Привилегии для файловых операций
От: Barbar1an Украина  
Дата: 10.02.17 16:55
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, PanychY, Вы писали:


PY>>Если нельзя пользователю ходить по файлам, то нельзя. Запускайтесь от имени нужного пользователя. Либо на ФС давайте права.


PD>Добавлю от себя. После установки Windows есть совсем немного папок, энумерация и чтение содержимого которых пользователю типа User запрещена, и эти папки вряд ли нужно ему энумеровать. Например, чужой профиль нельзя.

PD>Значит, на диске кто-то создал папки, установив им такие разрешения, что не всем пользователям можно туда соваться. Откуда же взялось требование произвольному пользователю их энумерировать ? Что-то тут в постановке задачи не так.

а что сделать чтобы я мог резолвить hard link'и а не получать отказ в доступе без этой привелегии?

с правами админа (и запуском из под студии) мое приложении не может наприимер перейти по хард линкам:

c:\Users\юзер\Application Data\
c:\Users\юзер\Cookies\
c:\Users\юзер\Local Settings\
c:\Users\юзер\NetHood\
c:\Users\юзер\PrintHood\
c:\Users\юзер\SendTo\
c:\Users\юзер\Start Menu\
c:\Users\юзер\Templates\

что явно перебор
Я изъездил эту страну вдоль и поперек, общался с умнейшими людьми и я могу вам ручаться в том, что обработка данных является лишь причудой, мода на которую продержится не более года. (с) Эксперт, авторитет и профессионал из 1957 г.
Re: Привилегии для файловых операций
От: Andrew.W Worobow https://github.com/Worobow
Дата: 10.02.17 18:57
Оценка:
Здравствуйте, Kingofastellarwar, Вы писали:
K>а нужно ли SE_BACKUP_NAME, не слишком ли это много, может чтото поменьше хватит?

по сути... Если ты получишь права для бэкап йусера то ты король. Я к тому, что по правилам такие права либо запрещены, либо выдаются по особой команде. хотя впрочем есть права и по интересней.
Но вот вопрос — а вы та ничего не перепутали? Что-то я вижу слишком много запросов от йуашной подсетки.
Не все кто уехал, предал Россию.
Отредактировано 10.02.2017 18:58 Andrew.W Worobow . Предыдущая версия .
Re[4]: Привилегии для файловых операций
От: Pavel Dvorkin Россия  
Дата: 13.02.17 15:44
Оценка:
Здравствуйте, Barbar1an, Вы писали:


B>с правами админа (и запуском из под студии) мое приложении не может наприимер перейти по хард линкам:


B>c:\Users\юзер\Application Data\

B>c:\Users\юзер\Cookies\
B>c:\Users\юзер\Local Settings\
B>c:\Users\юзер\NetHood\
B>c:\Users\юзер\PrintHood\
B>c:\Users\юзер\SendTo\
B>c:\Users\юзер\Start Menu\
B>c:\Users\юзер\Templates\

B>что явно перебор


Нет, не перебор. Нечего админу лезть в профиль юзера.Там конфиденциальная информация, которую по умолчанию админ видеть не должен.

Сделать можно только одно — поменять права доступа к этим папкам. Возможно, придется принять их во владение перед этим — я не помню, есть ли у админа право на изменение прав доступа к этим папкам, если нет — надо принять во владение.
Потом можно, конечно, вернуть права доступа и вернуть владение, но о том, что права доступа и владение поменялись, будут сделаны записи в системный журнал. И если админ дал себе это право доступа без разрешения руководства организации, то его привлекут к ответственности.

В общем, принцип простой : админ потенциально имеет доступ ко всему, но не может его реально получить так, чтобы не оставить следов, даже если вернет все потом обратно. Если бы этого не было, он из админа мог бы быстро превратиться в хозяина фирмы
With best regards
Pavel Dvorkin
Отредактировано 13.02.2017 15:49 Pavel Dvorkin . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.