据我所知,Unix中的UID由管理员分配,而SID在Windows中是随机的。这背后是否存在安全原因,或者它只是解决ID的不同方法?
由于
答案 0 :(得分:1)
虽然您可以在Unix机器上手动编辑/ etc / passwd(和/ etc / shadow),但添加用户的标准方法是通过useradd
实用程序(或类似工具)自动分配下一个可用的UID。因此,应该自动分配它们而不是管理员。 SID更复杂(即分层),因此手动分配它们会更加繁琐(此外,无论如何都无法手动更新SAM数据库)。
对于随机分配它们,SID的随机部分是机器SID,它为SID提供了明确的优势(与Unix UID相反)。例如,如果MACHINE1有本地用户ALICE和NTFS卷,其中一些文件由MACHINE1 \ ALICE拥有,当您将此卷插入MACHINE2时,不会错误地认为这些文件归某些本地MACHINE2用户所有。碰巧具有相同的SID(无论是命名为ALICE还是其他)。
在Unix上,如果alice在MACHINE1上有UID 501,那么你将相同的音量插入到MACHINE2中,其中UID 501属于bob,ls会将文件显示为属于bob(而不是alice甚至是'未知' UID')。
答案 1 :(得分:0)
Windows SID是一个全局唯一标识符,而不是Unix UID,它不是全局唯一的。
答案 2 :(得分:-1)
UUID和SID基本上是一回事。 它们是系统特定部分和时间戳的组合,根据特定算法生成(实现之间可能不同,但这无关紧要)。
基本上他们都是半随机的。也许一些Unix管理员确信有一些“安全”理由不会将它们分发出来或其他什么,但那是无稽之谈。