powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Создание файла через сервис
9 сообщений из 9, страница 1 из 1
Создание файла через сервис
    #38566623
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем.

Я создаю обычный текстовый файл через сервис и, соответственно, он создаётся с админскими правами, т.е. обычный user не может его даже прочитать.
Я попытался через сервис дать права всем пользователям, но выпадало в exception:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
FileSecurity fSecurity = File.GetAccessControl(filepath);


//[color=red]exception:[/color] some or all identity references could not be translated
fSecurity.AddAccessRule(new FileSystemAccessRule("Everyone", FileSystemRights.FullControl, AccessControlType.Allow));

//[color=red]exception:[/color] some or all identity references could not be translated
fSecurity.AddAccessRule(new FileSystemAccessRule(System.Environment.MachineName + @"\IIS_IUSRS", FileSystemRights.FullControl, AccessControlType.Allow));

//[color=red]exception:[/color] запрещено задание флагов
SecurityIdentifier everyone = new SecurityIdentifier(WellKnownSidType.WorldSid, null);
fSecurity.AddAccessRule(new FileSystemAccessRule(everyone, FileSystemRights.Modify | FileSystemRights.Synchronize, InheritanceFlags.ContainerInherit | InheritanceFlags.ObjectInherit, PropagationFlags.None, AccessControlType.Allow));



Вопрос - каким образом в сервисе можно разрешить доступ всем пользователям к только что созданному файлу в сервисе?
...
Рейтинг: 0 / 0
Создание файла через сервис
    #38566847
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
up
...
Рейтинг: 0 / 0
Создание файла через сервис
    #38567107
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
up
...
Рейтинг: 0 / 0
Создание файла через сервис
    #38567159
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
FileIOPermission fp = new FileIOPermission(FileIOPermissionAccess.Read, Folderpath);
                fp.AddPathList(FileIOPermissionAccess.AllAccess, Filepath);
                try
                {
                    fp.Demand();
                }
                catch (SecurityException s)
                {

                }



тут никакого exception не выпадает, но всё равно нельзя текстовый файл открыть обычному пользователю, который через сервис создан.

Может с файлами, созданными через сервис, нельзя проставлять permission ?
...
Рейтинг: 0 / 0
Создание файла через сервис
    #38567164
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Students,

вообще интересный вопрос. Что есть ваш "сервис"? В моем понимании сервис отдает просто поток байт, а получать вы его можете хоть на юниксе, какие тут права-то...
...
Рейтинг: 0 / 0
Создание файла через сервис
    #38567169
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanStudents,

вообще интересный вопрос. Что есть ваш "сервис"? В моем понимании сервис отдает просто поток байт, а получать вы его можете хоть на юниксе, какие тут права-то...

Обычный Windows Service.
http://habrahabr.ru/post/102826/


запускаете через службу, прописываете создание текстового файла.

Вся проблема в том, что этот текстовый файл не могут прочитать и изменить обычные пользователи, может только администратор.
Я просто хочу дать полный доступ для любых пользователей к этому файлу.
...
Рейтинг: 0 / 0
Создание файла через сервис
    #38567179
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
файл -> свойства -> безопасность -> группы и пользователи

тут только система и админ (файл создается через windows service).
Я пытаюсь добавить ещё ВСЕ , чтобы был полный доступ для всех пользователей, но у меня при разных вариантах выпадают exception (см. выше)
...
Рейтинг: 0 / 0
Создание файла через сервис
    #38567220
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
up
...
Рейтинг: 0 / 0
Создание файла через сервис
    #38567246
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё, нашёл как делать. Может кому-то пригодится:

Код: c#
1.
2.
3.
4.
5.
6.
FileSecurity fSecurity = File.GetAccessControl(filepath);

SecurityIdentifier everyone = new SecurityIdentifier(WellKnownSidType.WorldSid, null);
fSecurity.AddAccessRule(new FileSystemAccessRule(everyone, FileSystemRights.FullControl, AccessControlType.Allow));

File.SetAccessControl(filepath, fSecurity);
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Создание файла через сервис
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]