今天讲SID细节
【资料图】
上一篇中,我们大概了解了DACL的基本概念。今天我们再来看看其中的SID部分。
我们的问题是:如何将SID在二进制和字符串格式中进行转换?
当然,你可以使用Win32 API来使用代码进行转换,具体就是这两个API: ConvertSidToStringSid 和ConvertStringSidtoSid,但有时候你可能在调试一段内存结构,或者你需要手动地对SID的格式进行转换,那么我们就来看看下表:
举个例子,如果你有一个SDI,值为:S-1-5-21-2127521184-1604012920-1887927527-72713。那么,它对应的原始16进制值为:010500000000000515000000A065CF7E784B9B5FE77C8770091C0100。
我们按照下表来分解一下:
很好,但是那些数字代表什么呢?
每台设备会生成一个唯一ID识别码,用来对SID进行标记,格式为:(-…-…-…-)。
最后一个数字是一个”相对ID(RID)”,用来标识设备的用户账号。实际上,在ntseapi.h头文件中定义了很多预定义的RID。
系统会保留一段(0~999)RID,所以,系统中的第一个非内置账号会得到1000作为ID。这里的数字72713表示这个SID是第72714个被创建的SID。(很显然,这台设备是一台域控制器,用来为成百上千的用户分配账号)
可能上面的说法没那么正确,虽然我说这个是创建的第72714个SID,但是,在某些大型服务器上,SID可能是不连续的,也即,你不能认为SID是严格地连续分配。
总结
系统安全这个主题不是我的专长,所以,上面的信息不一定是完全正确的,但是,我想,应该基本是正确的吧。
最后
Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一,里面有很多关于Windows的小知识,对于广大Windows平台开发者来说,确实十分有帮助。
本文来自:《How do I convert a SID between binary and string forms?》
-
艺术家边剃头,边作画,用10万根白发创造“新东方明珠”这是一幅发人深思的画作。近日,上海艺术家杨烨炘走出封闭2个月的家门,以行为绘画的方式创作了《新东方明珠图》献给上海。杨烨炘以疫情期
-
花8000多元买的商品,白等两个月却没收到货?亚马逊回应“花8000多元买的商品,白等了两个月却没收到货。”近日,消费者赵先生向《中国消费者报》投诉,称他通过亚马逊购物APP下了两笔订单,在等待两个月后订单均被强制取消。
-
广东省消委会发布二手车买卖合同示范文本为配合广东省推进“阳光二手车”工作,促进二手车流通行业健康发展,推动经营主体树立诚信经营理念,规范二手车交易行为,切实保护消费者的合法权益。
-
国家卫健委:家庭医生签约服务“最后一公里”有望打通3月15日,国家卫生健康委、财政部等六部门共同提出的《关于推进家庭医生签约服务高质量发展的指导意见》(以下简称《意见》)发布。
-
2022年1~2月房企拿地榜出炉:冠军碧桂园近日,中指研究院公布了2022年1~2月房企拿地(金额)TOP100榜单。令业内惊讶的是,除了品牌房企名次“乾坤大挪移”,榜单内还冒出了许多“名不见经传”的新面孔。
X 关闭
X 关闭