CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

c#如何操作NTFS权限?

楼主f_h_x_(不要问我)2004-12-02 17:45:47 在 .NET技术 / C# 提问

c#如何操作NTFS权限?我只是想知道而已. 问题点数:100、回复次数:5Top

1 楼shenyisyn(魔法师)回复于 2004-12-02 17:47:37 得分 90

using   Microsoft.Win32.Security;  
   
   
  Here's   a   method   to   add   a   dir,   and   set   NTFS   permissions   on   it   for   a   given   user:    
   
   
  private   Boolean   CreateDir(String   strSitePath,   String   strUserName)   {  
   
                Boolean   bOk;  
   
                try   {  
   
                              Directory.CreateDirectory(strSitePath);  
   
                              SecurityDescriptor   secDesc   =   SecurityDescriptor.GetFileSecurity(strSitePath,   SECURITY_INFORMATION.DACL_SECURITY_INFORMATION);  
   
                              Dacl   dacl   =   secDesc.Dacl;  
   
                              Sid   sidUser   =   new   Sid   (strUserName);  
   
     
   
                              //   allow:   folder,   subfolder   and   files  
   
                              //   modify  
   
                              dacl.AddAce   (new   AceAccessAllowed   (sidUser,   AccessType.GENERIC_WRITE   |   AccessType.GENERIC_READ   |   AccessType.DELETE   |   AccessType.GENERIC_EXECUTE   ,   AceFlags.OBJECT_INHERIT_ACE   |   AceFlags.CONTAINER_INHERIT_ACE));  
   
                               
   
                              //   deny:   this   folder  
   
                              //   write   attribs  
   
                              //   write   extended   attribs  
   
                              //   delete  
   
                              //   change   permissions  
   
                              //   take   ownership  
   
                              DirectoryAccessType   DAType   =   DirectoryAccessType.FILE_WRITE_ATTRIBUTES   |   DirectoryAccessType.FILE_WRITE_EA   |   DirectoryAccessType.DELETE   |   DirectoryAccessType.WRITE_OWNER   |   DirectoryAccessType.WRITE_DAC;  
   
                              AccessType   AType   =   (AccessType)DAType;  
   
                              dacl.AddAce   (new   AceAccessDenied   (sidUser,   AType));  
   
     
   
                              secDesc.SetDacl(dacl);  
   
                              secDesc.SetFileSecurity(strSitePath,   SECURITY_INFORMATION.DACL_SECURITY_INFORMATION);  
   
                              bOk   =   true;  
   
                }   catch   {  
   
                              bOk   =   false;  
   
                }  
   
                return   bOk;  
   
  Top

2 楼trnbo(【没有蛀牙】)回复于 2004-12-02 17:50:39 得分 10

http://weblogs.asp.net/cumpsd/archive/2004/02/08/69403.aspxTop

3 楼xiaoslong(龙哥)回复于 2004-12-02 19:40:08 得分 0

帮你顶Top

4 楼f_h_x_(不要问我)回复于 2004-12-06 08:19:50 得分 0

trnbo(【没有蛀牙】→闭关修行)你那个站我怎么看不到Top

5 楼wangxt(海贝)回复于 2004-12-06 08:31:22 得分 0

帮你顶Top

相关问题

  • 权限操作
  • 权限不够还是有人在操作当前的表?c/mySQL/mysql_real_query()
  • NTFS权限问题
  • !紧急求助 C盘的NTFS的权限全部被取消了
  • !紧急求助 C盘的NTFS的权限全部被取消了
  • 一个c# 权限问题
  • ???C#操作xml?!!
  • C# 操作Excel
  • 数据库操作权限的问题
  • ASP.NET文件操作的权限问题

关键词

  • c#
  • security
  • accesstype
  • strsitepath
  • dacl
  • ntfs
  • generic
  • write

得分解答快速导航

  • 帖主:f_h_x_
  • shenyisyn
  • trnbo

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo