C# 为具有ACL的用户将文件夹设为只读
我想为特定用户设置一个只读文件夹,他不应该能够编辑或删除它,我尝试了下面的代码,但它不起作用,我需要对它做什么更改C# 为具有ACL的用户将文件夹设为只读,c#,security,acl,C#,Security,Acl,我想为特定用户设置一个只读文件夹,他不应该能够编辑或删除它,我尝试了下面的代码,但它不起作用,我需要对它做什么更改 try { string folderPath = textBox1.Text; string username = comboBox1.SelectedItem.ToString(); DirectorySecurity ds = Directory.GetAccessControl(folderPath); FileSystemAcc
try
{
string folderPath = textBox1.Text;
string username = comboBox1.SelectedItem.ToString();
DirectorySecurity ds = Directory.GetAccessControl(folderPath);
FileSystemAccessRule fsa =
new FileSystemAccessRule(username,
FileSystemRights.ReadAndExecute,
AccessControlType.Allow);
ds.AddAccessRule(fsa);
Directory.SetAccessControl(folderPath, ds);
MessageBox.Show("ReadOnly");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
用户可能通过组成员身份(如
Everyone
)继承文件夹的其他权限,因此设置允许规则只允许他做一些他已经可以做的事情
例如:
- Root
[Allow: read/write (Everyone)]
- ParentFolder
[Allow: read/write (Everyone) - inherited from Root]
- RestrictedFolder
[Allow: read/write (Everyone) - inherited from Root]
[Allow: read (Restricted User) - this has no effect!]
之后,层次结构如下所示:
- Root
[Allow: read/write (Everyone)]
- ParentFolder
[Allow: read/write (Everyone) - inherited from Root]
- RestrictedFolder
[Deny: write (Restricted User) - This overrides the inherited permission]
[Allow: read/write (Everyone) - inherited from Root]
- Root
[Allow: read/write (Everyone)]
- ParentFolder
[Deny: delete subfolders and files (Restricted User)]
[Allow: read/write (Everyone) - inherited from Root]
- RestrictedFolder
[Deny: write (Restricted User) - This overrides the inherited permission]
[Allow: read/write (Everyone) - inherited from Root]
用户可能通过组成员身份(如
Everyone
)继承文件夹的其他权限,因此设置允许规则只允许他做一些他已经可以做的事情
例如:
- Root
[Allow: read/write (Everyone)]
- ParentFolder
[Allow: read/write (Everyone) - inherited from Root]
- RestrictedFolder
[Allow: read/write (Everyone) - inherited from Root]
[Allow: read (Restricted User) - this has no effect!]
之后,层次结构如下所示:
- Root
[Allow: read/write (Everyone)]
- ParentFolder
[Allow: read/write (Everyone) - inherited from Root]
- RestrictedFolder
[Deny: write (Restricted User) - This overrides the inherited permission]
[Allow: read/write (Everyone) - inherited from Root]
- Root
[Allow: read/write (Everyone)]
- ParentFolder
[Deny: delete subfolders and files (Restricted User)]
[Allow: read/write (Everyone) - inherited from Root]
- RestrictedFolder
[Deny: write (Restricted User) - This overrides the inherited permission]
[Allow: read/write (Everyone) - inherited from Root]
签出后,你能告诉我在哪里需要更改吗?签出后,你能告诉我在哪里需要更改吗?