そのため、BUILTIN \ Usersグループのアクセス許可を変更して、少なくともファイルシステムの変更アクセス権を持たせようとしています。残念ながら、以下のコードを使用しようとすると、変更されていないACLが生成されます。
SecurityIdentifier usersSecurityIdentifier = ntAccount.Translate(typeof(SecurityIdentifier)) as SecurityIdentifier;
DirectorySecurity directorySecurity = Directory.GetAccessControl(source.FullName);
FileSystemAccessRule accessRule
= new FileSystemAccessRule(@"BUILTIN\Users", FileSystemRights.FullControl, AccessControlType.Allow);
directorySecurity.ModifyAccessRule(AccessControlModification.Add,
accessRule,
out modified);
Console.WriteLine(modified);
変更されたレポートはすべての場合に当てはまりますが、フォルダーのプロパティでパーマを確認してもパーマは更新されません。
また、同様のコードを使用して、ディレクトリのACLをまだ持っていないSecurityIdentifierのアクセスルールを追加しようとしましたが、変更する代わりにAddAccessRuleだけを追加しました。新しいSecurityIdentifierがディレクトリのpermsリストに表示されましたが、指定したアクセス権がありませんでした。
管理者アカウントが所有しているEnvironment.SpecialFolders.CommonApplicationDataの専用ディレクトリへのアクセスを変更しようとしています。また、管理者としてACLを変更しようとしています。
上記のコードの何が問題になっているのか、またはネイティブの.NETクラスを使用してACLを設定する正しい方法につながるリソースを持っている人はいますか?