FileSystemRights枚举

定义创建访问和审核规则时使用的访问权限。

此枚举具有FlagsAttribute属性,允许其成员值按位组合。

命名空间:   System.Security.AccessControl 
程序集:  mscorlib(在mscorlib.dll中)

句法

[FlagsAttribute]
 public  enum FileSystemRights

会员

  成员名字 描述
  AppendData

指定将数据附加到文件末尾的权利。

  ChangePermissions

指定更改与文件或文件夹关联的安全性和审核规则的权限。

  CreateDirectories

指定创建文件夹的权限。

  CreateFiles

指定创建文件的权限。

  删除

指定删除文件夹或文件的权限。

  DeleteSubdirectoriesAndFiles

指定删除文件夹和该文件夹中包含的任何文件的权利。

  ExecuteFile

指定运行应用程序文件的权限。

  FullControl

指定对文件夹或文件进行完全控制的权限,并修改访问控制和审核规则。该值表示使用文件执行任何操作的权利,并且是此枚举中的所有权限的组合。

  ListDirectory

指定读取目录内容的权限。

  修改

200新新新新旗新新新新旗新新旗新新200新新200新200新新200新新200新200新新200新新200新200新新200新新200新新200新新200新Version 200新新新200新Version旗 这种权利包括ReadAndExecute权,写入权和删除权。

 

指定以只读方式打开和复制文件夹或文件的权限。此权限包括ReadData权限,ReadExtendedAttributes权限,ReadAttributes权限和ReadPermissions权限。

  ReadAndExecute

指定以只读方式打开和复制文件夹或文件的权限,并运行应用程序文件。该权限包括读取权限和执行文件权限。

  ReadAttributes

指定从文件夹或文件打开和复制文件系统属性的权限。例如,该值指定查看文件创建或修改日期的权限。这不包括读取数据,扩展文件系统属性或访问和审核规则的权利。

  READDATA

指定打开和复制文件或文件夹的权限。这不包括读取文件系统属性,扩展文件系统属性或访问和审核规则的权限。

  ReadExtendedAttributes

指定从文件夹或文件打开和复制扩展文件系统属性的权限。例如,此值指定查看作者和内容信息的权限。这不包括读取数据,文件系统属性或访问和审核规则的权利。

  ReadPermissions

指定从文件夹或文件打开和复制访问和审核规则的权限。这不包括读取数据,文件系统属性和扩展文件系统属性的权限。

  同步

指定应用程序是否可以等待文件句柄与完成I / O操作同步。

  取得所有权

指定更改文件夹或文件所有者的权利。请注意,资源的所有者可以完全访问该资源。

  特拉弗斯

指定列出文件夹的内容并运行该文件夹中包含的应用程序的权限。

 

指定创建文件夹和文件的权限,以及从文件添加或删除数据。此权限包括WriteData权限,AppendData权限,WriteExtendedAttributes权限和WriteAttributes权限。

  WriteAttributes

指定将文件系统属性打开和写入文件夹或文件的权限。这不包括编写数据,扩展属性或访问和审核规则的能力。

  写数据

指定打开和写入文件或文件夹的权限。这不包括打开和写入文件系统属性,扩展文件系统属性或访问和审计规则的权限。

  WriteExtendedAttributes

指定将扩展文件系统属性打开和写入文件夹或文件的权限。这不包括编写数据,属性或访问和审核规则的能力。

备注

FileSystemRights枚举指定的文件系统操作所允许的特定用户帐户和文件系统的操作进行审计为特定的用户帐户。

使用FileSystemRights创建与访问规则时枚举FileSystemAccessRule类或创建与审核规则时FileSystemAuditRule类。

此枚举包含几个粒度系统权限值和几个值,这些值是这些粒度值的组合。使用诸如FullControlReadWrite之类的组合值更容易,而不是分别指定每个组件值。

例子

以下代码示例使用FileSystemRights枚举来指定访问规则,然后从文件中删除访问规则。您必须提供有效的用户或组帐户才能运行此示例。

使用系统;
使用 System.IO;
使用 System.Security.AccessControl;

命名空间 FileSystemExample
{
    FileExample 
    {
        public  static  void Main()
        {
            尝试
            {
                string fileName = “test.xml” ;

                Console.WriteLine(“添加访问控制条目”
                    + fileName);

                //将访问控制条目添加到文件。
                AddFileSecurity(fileName,@“DomainName \ AccountName”
                    FileSystemRights.ReadData,AccessControlType.Allow);

                Console.WriteLine(“从”删除访问控制条目“
                    + fileName);

                //从文件中删除访问控制条目。
                RemoveFileSecurity(fileName,@“DomainName \ AccountName”
                    FileSystemRights.ReadData,AccessControlType.Allow);

                Console.WriteLine(“完成”);
            }
            catch(异常e)
            {
                Console.WriteLine(E);
            }
        }

        //为指定的帐户指定的文件添加一个ACL条目。
        public  static  void AddFileSecurity(string fileName,string account,
            FileSystemRights权限,AccessControlType controlType)
        {


            //获取代表
            当前安全设置的FileSecurity对象
            FileSecurity fSecurity = File.GetAccessControl(fileName);

            //将FileSystemAccessRule添加到安全设置中。
            fSecurity.AddAccessRule(new FileSystemAccessRule(account,
                权限,controlType));

            //设置新的访问设置。
            File.SetAccessControl(fileName,fSecurity);

        }

        //删除指定帐户的指定文件上的ACL条目。
        public  static  void RemoveFileSecurity(string fileName,string account,
            FileSystemRights权限,AccessControlType controlType)
        {

            //获取代表
            当前安全设置的FileSecurity对象
            FileSecurity fSecurity = File.GetAccessControl(fileName);

            //从安全设置中删除FileSystemAccessRule。
            fSecurity.RemoveAccessRule(new FileSystemAccessRule(account,
                权限,controlType));

            //设置新的访问设置。
            File.SetAccessControl(fileName,fSecurity);

        }
    }
}
展开阅读全文

没有更多推荐了,返回首页