OS X服务器ACL中的数字UID / GID(10.6)

在一台(旧的OS X 10.4)服务器上,我正在查找一些具有ACL的文件。 然后,我使用tar -xp将归档文件解压到一个新的10.6服务器上,该服务器上除了默认的pipe理员(UID 501)之外,没有configuration任何用户/组(这是有原因的,不要问!)。 显然,这意味着“ls -lne”会列出带有数字UID和GID的文件和ACL。

现在对于正常的文件权限是有道理的:你得到像“1037”这样的UID。 而对于一些ACL,也是有意义的:对于用户(0x1F5 = 0),对于组(0x402 = GID 1026)和“FFFFEEEE-DDDD-CCCC-BBBB-AAAA000001F5”,你得到诸如“AAAABBBB-CCCC- DDDD-EEEE- FFFF00000402” UID 501)。

但是,一些ACL具有像“E51DA674-AE70-41BC-8340-9B06C243A262”的UID或诸如“0A3FCD24-0012-46FA-B085-88519E55EF29”的GID,并且我完全不知道如何将这些ID转换回可能是匹配回原始ID(本例中分别为UID 1072和GID 1047)。

任何人都可以帮我翻译这些奇怪的长hexstring?

(基本上我们正在从本地用户转移到Active Directory设置,所以我想将所有文件移到新的服务器上,并且权限不变,然后chmod,chgrp并设置ACL,以便将旧ID转换为新的AD ID。需要一些方法来映射集合,我不相信有一个更简单的方法来做到这一点?)

非常感谢,

奥利弗。

该文档指出“计算机生成”这些UID的,所以我想没有文件化的algorithm来翻译这两者之间。 但是,您可以列出用户标识和生成的用户标识,并创build一个查找表以方便翻译。

要find用户的hexstring(除其他外),请使用以下命令:dscl / Search -read / Users / oliver GeneratedUID UniqueID'dsAttrTypeNative:givenName'

列出所有生成的UID:

dscl /Search -list /Users GeneratedUID 

要列出所有唯一的ID(“正常”的用户名)

  dscl /Search -list /Users UniqueID 

希望这些帮助(也许不是你了,但这在谷歌出现,所以别人可能仍然觉得这有用)。

一世。