创建一个比EveryOneSECURITY_ATTRIBUTES更开放的安全属性. redirectattributes

在vista下,由于系统更加注重安全权限,并且使用了uac。往往在访问文件和注册表时,一般用户没有权限写入。导致了开发的程序不能在一般用户下顺利的运行,为了解决写入文件和注册表这个问题,并且不想使用runadministrator方式启动程序,那么只有改变文件和注册表键值的安全属性,就是添加everyone权限,这样所有的用户多可以访问并写入文件和注册表。但是在实际开发中发现一个问题,公司的域用户下程序不能正常的运行,不能写入。最后研究发现,everyone权限不包含域用户,只包含本地下的所有用户,所以问题还是没有全部解决。最后查找资料找到了一个更开放,更没有限制的权限-------NULL权限。

我们可以通过创建 NUL LDACL来创建一个比Everyone更开放的null的ACL列表,通过这个列表,我们就可以创建一个对系统的所有用户(域用户和Everyone---只包含本地用户)都可以访问/使用的文件和注册表键值。
在Win32中,我们要创建这样的一结构,代码通常是下面这样:

SECURITY_ATTRIBUTES sa;
SECURITY_DESCRIPTOR sd;

InitializeSecurityDescriptor(&sd,SECURITY_DESCRIPTOR_REVISION);
创建一个比EveryOneSECURITY_ATTRIBUTES更开放的安全属性. redirectattributes
SetSecurityDescriptorDacl(&sd,TRUE,NULL,FALSE);
sa.nLength =sizeof(SECURITY_ATTRIBUTES);
sa.bInheritHandle = TRUE;
sa.lpSecurityDescriptor =&sd;
return &sa;

我们得到了创建了一这样的结构后,直接把其地址传给CreateFile等api的参数中就可以了.

这样创建出来的文件就是没有任何权限限制的。

DACL实例


  

爱华网本文地址 » http://www.aihuau.com/a/25101015/273783.html

更多阅读

一个比悲伤更悲伤的故事 看看吧 比悲伤更悲伤的故事bd

爱情啊,是咬牙切齿却恨不彻底,是撕心裂肺却痛不死心;是淡如白水,只是某天醒来,已经不离不弃、不怨不悔;是抛不开、丢不掉、舍不得。其实用一句话来说,爱情……是无可奈何!--题记无意中看到了一部电影,名字叫做《比悲伤更悲伤的故事》。因为好奇

韩国电影——《比悲伤更悲伤的故事》 悲伤故事电影在线看

文/美丽心情女人2011年6月7日《比悲伤更悲伤的故事》讲述同病相怜男女主人公电台制作人和作词人俩人彼此相爱,男主人公身患绝症最终未能和心爱的女人在一起悲伤爱情的故事。也许因为有幸福的映托,悲伤显得益发悲伤。——“你知道吗

声明:《创建一个比EveryOneSECURITY_ATTRIBUTES更开放的安全属性. redirectattributes》为网友爱尾声分享!如侵犯到您的合法权益请联系我们删除