ファイルシステムとアクセス権/アクセス権(アクセス制御リスト、ACLともいう)はかなり新しいです。 ACLに関するコーディング中に、私はファイルに必要なプロパティを設定できません。私はFileSystemRightsメンバーの私の理解が間違っているかどうか、あるいは私が間違ったことをしているかどうかは分かりません。 (そして私はすでにこの部分にかなりの時間を費やしています)FileSystemRightsの問題(C#)
私がしたいのは、ファイルの権利を変更して読みやすく、編集できず、名前を変更し、削除することができないようにすることです他の場所にコピーされます。 MSDNの例を使用して
は、ここで私がこれまで持っているものです。
- は(.Modifyファイルが読めなくなってしまいます拒否)変更権を拒否追加:
try { //Get current identity WindowsIdentity self = System.Security.Principal.WindowsIdentity.GetCurrent(); // Add the access control entry to the file. AddFileSecurity(filename, self.Name, FileSystemRights.Modify, AccessControlType.Deny); AddFileSecurity(filename, self.Name, FileSystemRights.Write, AccessControlType.Deny); AddFileSecurity(filename, self.Name, FileSystemRights.ReadAndExecute, AccessControlType.Allow); // Remove the access control entry from the file. RemoveFileSecurity(filename, self.Name, FileSystemRights.ReadAndExecute, AccessControlType.Deny); RemoveFileSecurity(filename, self.Name, FileSystemRights.Read, AccessControlType.Deny); Console.WriteLine("Done."); } catch (Exception e) { Console.WriteLine(e); }
私のロジックは、ということです
- が
- がReadAndExecute権
- 削除がエントリを拒否できるように追加書き込み権を拒否追加
- 削除(.ModifyがReadAndExecuteを拒否したとして)ReadAndExecuteに(.Modifyは読み取りを拒否したよう)
は私が正しく、この部分をやって読むのエントリを拒否?そうでない場合は、ファイルを読み取りのみ可能にし、編集可能ではなく、名前変更可能で、削除可能でコピー可能にするために、どうすればよいかを教えてください。事前に多くの感謝!
ファイルが読み込み可能であれば、それは常にコピー可能です! – Yahia
他の場所にコピーされないようにすることは可能です(回避策はありますか?) –
いいえ - 読み取り可能なものはすべてコピー可能です... – Yahia