WINDOWS编程手札
comment 最大长度260 windows用户名 最大长度20 windows密码 最大长度128 iis i...
扫描右侧二维码阅读全文
11
2008/04

WINDOWS编程手札

comment 最大长度260
windows用户名 最大长度20
windows密码 最大长度128
iis id 最大长度10
IIS数据键值最大长度 METADATA_MAX_NAME_LEN
IMSAdminBase::GetData之前不需要OpenKey

META BASE属性
http://msdn2.microsoft.com/en-us/library/ms525644.aspx

NTFS的文件权限是用ACL描述的,ACL分为DACL和SACL,设置权限主要是指设置DACL。SACL是用于审核的。

一般情况下都是在已有的权限基础上给NTFS的文件/目录增加/减少权限,当然也可以完全替换掉原来的权限设置。大致步骤:
1、用GetNamedSecurityInfo( )获得与该文件对象(实际上也可以是其它对象,如注册表键值等)相关的SD(Security Descriptor)
2、用LookupSecurityDescriptorParts( )从该SD中取出感兴趣的部分,一般是取出DACL。
如果你不想在原来的DACL基础上增加/减少权限,而是想设置全新的DACL,则此处可以不用LookupSecurityDescriptorParts,而是用InitializeAcl从头生成一个空的DACL。
3、用BuildExplicitAccessWithName/AddAccessAllowedAce/AddAccessDeniedAce和SetEntriesInAcl( )给上述的这个DACL增加新的ACE,生成一个新的DACL结构。
4、用SetNamedSecurityInfo( )将新的DACL与文件的SD联系起来,完成权限设置。
Net API中有几个函数可以操作共享。

参考:
1、基本概念:
http://www.microsoft.com/China/msdn/technic/compilation/windowsnt.asp
http://www.china-pub.com/computers/emook/0238/info.htm
2、MSDN中关于security API的部分
3、Platform SDK中关于security API的例子程序
\Microsoft Platform SDK\Samples\WinBase\Security

Last modification:November 26th, 2018 at 04:16 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment