NTFS文件夹权限(用户组) [英] NTFS Folder Permission (UserGroup)

查看:119
本文介绍了NTFS文件夹权限(用户组)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

我需要提供给定文件夹的用户组(完全控制访问权限).我可以为使用ADSI的用户提供完全控制权限,但不能为用户组提供完全控制权限.

在下面检查我的代码,

public static bool GrantPermission(String vPath,String UserName)
{
尝试
{
SecurityDescriptor objSecDes;
AccessControlList objDAcl;
AccessControlEntry objAce1;
AccessControlEntry objAce2;
对象objSIdHex;
ADsSID objSId;

objADsSec = new ADsSecurityClass();
objSecDes =(SecurityDescriptor)(objADsSec.GetSecurityDescriptor("FILE://" + vPath));
objDAcl =(AccessControlList) objSecDes.DiscretionaryAcl;

objSId = new ADsSIDClass();
///ADS_SID_SAM(VT_BSTR),例如vdsi \ v860786
objSId.SetAs((int)ADSSECUSIDSDS_FORMS_FORM_ADS_ADS_ADS_ADS_ADS_ADS_SDS_FORMS_FORMS_FORMS_FORMS. .ToString());
objSIdHex = objSId.GetAs((int)ADSSECURITYLib.ADS_SID_FORMAT.ADS_SID_SAM);

//添加新的访问控制项(ACE)对象(objAce),以便用户对NTFS文件系统文件具有完全控制权限. > objAce1.Trustee =(objSIdHex).ToString();
objAce1.AccessMask =(int)ActiveDs.ADS_RIGHTS_ENUM.ADS_RIGHT_GENERIC_ALL;
objAce1.AceType =(int)ActiveDs.TYPE_A AceFlags =(int)ActiveDs.ADS_ACEFLAG_ENUM.ADS_ACEFLAG_INHERIT_ACE | (int)ActiveDs.ADS_ACEFLAG_ENUM.ADS_ACEFLAG_INHERIT_ONLY_ACE | 1;
objDAcl.AddAce(objAce1);

//添加一个新的访问控制条目对象(objAce),以便用户对NTFS文件系统文件夹具有完全控制权限.
objAce2 = new AccessControlEntryClass();
objAce2.受托人=(objSIdHex).ToString();
objAce2.AccessMask =(int)ActiveDs.ADS_RIGHTS_ENUM.ADS_RIGHT_GENERIC_ALL; int)ActiveDs.ADS_ACEFLAG_ENUM.ADS_ACEFLAG_INHERIT_ACE | 1;
objDAcl.AddAce(objAce2);

objSecDes.DiscretionaryAcl = objDAcl;

//在NTFS文件系统文件夹上设置权限.
objADsSec.SetSecurityDescriptor(objSecDes,``FILE://''+ vPath);
返回true;
}
catch(Exception exp)
{
throw exp;
}}
}

在调用此方法时,

GrantPermission(sFolderPath,sUserName);

此处sUserName->域名//用户名.效果很好

如果sUserName-> DomainName//UserGroupName ...我收到错误信息...

请,有人可以澄清一下.

推荐答案

移至Visual C#General论坛.

Moving to the Visual C# General forum.

-Tom Meschter
软件开发人员,Visual C#IDE

-Tom Meschter
Software Dev, Visual C# IDE


这篇关于NTFS文件夹权限(用户组)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆