Невозможно установить владельца файла для NT SERVICE \ TrustedInstaller - PullRequest
0 голосов
/ 01 августа 2011

Используя проводник, я могу установить владельца созданного мной файла на «NT SERVICE \ TrustedInstaller», и он действительно устанавливается.Я проверил с помощью DIR /Q.

Но когда я использую следующий код C # в Windows 7 SP1 X64:

FileInfo info = new FileInfo("TrustedFile.txt");
FileSecurity security = info.GetAccessControl();
NTAccount Sid = new NTAccount("NT SERVICE\\TrustedInstaller");
security.SetOwner ( Sid );
info.SetAccessControl( security );

я получаю следующее исключение, событие при работе с правами администратора.

**System.InvalidOperationException: The security identifier is not allowed to be the owner of this object.**
   at System.Security.AccessControl.NativeObjectSecurity.Persist(String name, SafeHandle handle, AccessControlSections includeSections, Object excepti
onContext)
   at System.Security.AccessControl.NativeObjectSecurity.Persist(String name, AccessControlSections includeSections, Object exceptionContext)
   at System.Security.AccessControl.NativeObjectSecurity.Persist(String name, AccessControlSections includeSections)
   at System.Security.AccessControl.FileSystemSecurity.Persist(String fullPath)
   at System.IO.File.SetAccessControl(String path, FileSecurity fileSecurity)
   at System.IO.FileInfo.SetAccessControl(FileSecurity fileSecurity)
   at SetFileOwner.Program.Main(String[] args)

Есть идеи, что я делаю не так?

1 Ответ

0 голосов
/ 01 августа 2011

Вы должны выдать себя за пользователя Windows, у которого будут права для этого внутри asp.net.

Олицетворение обычно выполняется для входа в базу данных внутри asp.net.

...