|
Несколько вопросов по ACL
|
|||
---|---|---|---|
#18+
Доброго времени суток. Исходные данные: Windows XP,7,8 Rus/Enu x86/x64 .Net 3.5 SP1 Я программно создаю локальный каталог и копирую в него некоторый серверный каталог, со всем его содержимым. Нужно чтобы любой пользователь этого компьютера имел необходимые права на то, чтобы в случае необходимости заменить этот каталог на его более новую версию. По умолчанию для создаваемого каталога назначаются такие права, что обозначенные мною действия может выполнять только владелец каталога. В ходе решения (с помощью ACL) этой задачи я столкнулся с рядом трудностей. Далее обо всём по порядку... 1. Локализация... У моих пользователей Windows XP, 7 Rus, поэтому имя объекта, которому собираюсь давать необходимые разрешения я формировал по правилу: Код: c# 1.
Однако этот вариант мне очень не нравится, т.к. существует вероятность того, что у некоторых пользователей будет иная локализация, например английская. Я безуспешно пытался вместо "Пользователи" подсунуть "users" и "allusers". Существуют ли варианты имён групп, универсальные для всех локализаций Windows? 2. Возникновение исключения IdentityNotMappedException Приведённый ниже код генерирует обозначенное исключение Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Результат: Текст ИсключенияSystem.Security.Principal.IdentityNotMappedException перехвачено Message=Некоторые или ссылки на свойства нельзя преобразовать. Однако я бы хотел задать разрешения именно для этой группы. Как это правильно сделать в данном случае? 3. В ACL добавляется новая группа, но без указанных для неё разрешений. Приведённый ниже код добавляет группу, но нужные (т.е. все ) "галочки не выставляет" (см. скрин ниже). Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Без выставленных галочек др. пользователи локальной машины не смогут удалить/обновить этот каталог. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2012, 13:05 |
|
Несколько вопросов по ACL
|
|||
---|---|---|---|
#18+
Compositum 1. Локализация... У моих пользователей Windows XP, 7 Rus, поэтому имя объекта, которому собираюсь давать необходимые разрешения я формировал по правилу: Код: c# 1.
Environment - всякие Variables, Environment.SpecialFolder Enumeration ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2012, 13:12 |
|
Несколько вопросов по ACL
|
|||
---|---|---|---|
#18+
Arm79Environment - всякие Variables, Environment.SpecialFolder Enumeration[/quot] А это-то здесь при чём? Я ведь не о каталогах спрашиваю, а о группах. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2012, 13:15 |
|
Несколько вопросов по ACL
|
|||
---|---|---|---|
#18+
Compositum, Видемо не получены текущие права, в "букваре" Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2012, 14:08 |
|
Несколько вопросов по ACL
|
|||
---|---|---|---|
#18+
KasperCompositum, Видемо не получены текущие права, в "букваре" Код: c# 1. 2. 3. 4.
в .net 3.5 у класса DirectorySecurity статического метода GetAccessControl нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2012, 14:30 |
|
Несколько вопросов по ACL
|
|||
---|---|---|---|
#18+
Compositum, Directory.GetAccessControl позволяет извлечь записи списка ACL для каталога. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2012, 14:55 |
|
Несколько вопросов по ACL
|
|||
---|---|---|---|
#18+
KasperDirectory.GetAccessControl позволяет извлечь записи списка ACL для каталога. Да, я в курсе и пробовал как альтернативу такой элементарный вариант: Код: c# 1. 2. 3. 4. 5. 6.
Однако результат всё тот же: "галочки" не устанавливаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2012, 14:59 |
|
Несколько вопросов по ACL
|
|||
---|---|---|---|
#18+
CompositumArm79Environment - всякие Variables, Environment.SpecialFolder Enumeration А это-то здесь при чём? Я ведь не о каталогах спрашиваю, а о группах.[/quote] Сорри, по диагонали прочитал. Увидел слова "локализация" и "пользователь", и не стал дальше читать ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2012, 17:50 |
|
Несколько вопросов по ACL
|
|||
---|---|---|---|
#18+
Compositum Код: c# 1.
Чем не нравится Код: c# 1.
? Compositum Код: c# 1.
А пользователь имеет права раздавать права? ============= Не забуду - гляну на работе, как у меня сделано ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2012, 21:17 |
|
Несколько вопросов по ACL
|
|||
---|---|---|---|
#18+
Cat2Compositum Код: c# 1.
Чем не нравится Код: c# 1.
? Ты невнимательно читаешь мой код... В коде я назначаю не для текущего пользователя , а для группы "Пользователи" . Cat2А пользователь имеет права раздавать права? Полагаю что да, поскольку вручную эти же действия я делаю без проблем, под тем же профилем. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2012, 21:22 |
|
Несколько вопросов по ACL
|
|||
---|---|---|---|
#18+
МСУ 12641777 Спасибо Даниил! Очень помогли, группа "Все" - это пожалуй лучший вариант в моём случае. Однако проблема с не устанавливающимися галочками осталась. Сейчас код такой: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
В результате, когда открываю свойства каталога, то вижу, что запись "Все" появилась, но галочки не установлены: В чём может быть причина такого результата? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2012, 11:07 |
|
Несколько вопросов по ACL
|
|||
---|---|---|---|
#18+
CompositumСпасибо Даниил! Очень помогли, группа "Все" - это пожалуй лучший вариант в моём случае. Однако проблема с не устанавливающимися галочками осталась. Забыл совсем про этот тред. Андрей, проблема актуальна? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 14:49 |
|
Несколько вопросов по ACL
|
|||
---|---|---|---|
#18+
МСУCompositumСпасибо Даниил! Очень помогли, группа "Все" - это пожалуй лучший вариант в моём случае. Однако проблема с не устанавливающимися галочками осталась. Забыл совсем про этот тред. Андрей, проблема актуальна? Да, сейчас как раз над этим бьюсь... :( ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2012, 14:52 |
|
Несколько вопросов по ACL
|
|||
---|---|---|---|
#18+
CompositumДа, сейчас как раз над этим бьюсь... :( Пришлось повозиться :) http://codearticles.ru/Home/ArticleView/986 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2012, 23:42 |
|
Несколько вопросов по ACL
|
|||
---|---|---|---|
#18+
МСУCompositumДа, сейчас как раз над этим бьюсь... :( Пришлось повозиться :) http://codearticles.ru/Home/ArticleView/986 Огромнейшее СПАСИБО! Даниил, у нас все пользователи имеют перемещаемые профили. Мне нужно, чтобы полные права на каталог имел любой пользователь нашей сети, залогинившийся на машине. Я пытался вместо WellKnownSidType.NetworkServiceSid подставить др. значения, но получал исключения: // Я пробовал такие варианты: // // 1. WellKnownSidType.AccountComputersSid. Исключение: The domainSid parameter must be specified for // creating well-known SID of type AccountComputersSid. Parameter name: domainSid // // 2. WellKnownSidType.AccountDomainUsersSid. Исключение: The domainSid parameter must be specified for // creating well-known SID of type AccountDomainUsersSid. Parameter name: domainSid В чём моя ошибка (помимо ДНК :) )? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2012, 13:13 |
|
Несколько вопросов по ACL
|
|||
---|---|---|---|
#18+
т.е. где и как я должен указать domainSid? и как получить его корректное значение? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2012, 13:15 |
|
Несколько вопросов по ACL
|
|||
---|---|---|---|
#18+
Я пробовал указывать и так: Код: c# 1.
Но это неправильный вариант, т.к. получаю исключение. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2012, 13:26 |
|
Несколько вопросов по ACL
|
|||
---|---|---|---|
#18+
Пробовал такой вариант: Код: c# 1.
Получал исключение: ИсключениеThe domainSid parameter is not a valid Windows domain SID. Parameter name: domainSid ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2012, 13:30 |
|
Несколько вопросов по ACL
|
|||
---|---|---|---|
#18+
Это опять я... :) Всё, тему можно закрывать. Рабочий вариант для пользователей домена: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2012, 13:40 |
|
|
start [/forum/topic.php?fid=20&msg=38056380&tid=1405535]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 311ms |
total: | 472ms |
0 / 0 |