Создание директории NAME только для чтения в C # - PullRequest
2 голосов
/ 29 мая 2011

Моя проблема в том, что я хочу создать новую папку и сделать невозможным (или достаточно сложным) для пользователя изменение ее имени или удаление.Дело в том, что пользователь должен иметь возможность доступа к файлам, содержащимся в этой папке, и изменять их по своему усмотрению.Используя примеры, которые я нашел в сети, все, что я получаю, делает невозможным изменение файлов внутри папки, а не самой папки.

Заранее спасибо;)

Ответы [ 2 ]

2 голосов
/ 29 мая 2011

Пока эта папка создается учетной записью пользователя (при условии, что вы создаете папку программно с помощью своего приложения), пользователь сможет редактировать папку.Лучший способ защитить эту папку от несанкционированного доступа - написать очень маленькую службу Windows, которая всегда будет держать эту папку открытой, предотвращая тем самым удаление / переименование.

2 голосов
/ 29 мая 2011

Это может быть полезно.

http://technet.microsoft.com/en-us/library/cc732880.aspx

Кажется, вы хотите разрешить разрешение «Создание файлов / запись данных», но не разрешить «контроль» родительской папки.

Вы должны иметь возможность настроить ACL для этого. Дайте им права «Содержимое папки списка», а затем выборочно дайте им дополнительные расширенные права, не предоставляя им права на изменение атрибутов.


Ответ службы - плохая идея. Я мог бы работать, но это не лучший способ сделать это. Ключ с каталогом Windows и безопасностью папки является «владельцем» папки. Как администратор, вы всегда можете стать владельцем папки или файла. НО, если у файла другой владелец, и этот владелец предоставил вам права, у вас не будет никаких других прав, пока вы не войдете и не станете владельцем.

То, что вы хотите сделать, - это создать на компьютере специальную учетную запись (часто называемую служебной учетной записью), под которой запускается программа. Эта учетная запись имеет права администратора и является владельцем всех файлов, которые она создает. Затем он может разрешить любой доступ, который он хочет предоставить пользователям файлов и папок, которые он создает.

Администратор всегда сможет стать владельцем, если захочет, но большинство пользователей даже не знают, как это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...