c#如何操作NTFS权限?
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




