如果我想获取 Windows 中特定用户的 SID。我会从 DOS Windows 运行以下 cmd:
cmd> wmic useraccount get name,sid
example output> kehelly S-1-5-21-3623811015-3361044348-30300820-1013
SID:安全标识符。
当用户登录计算机时,系统会读取其用户 SID 和权限。当此用户请求访问资源时,系统会检查 SID,并根据 SID 授予或拒绝访问权限。
我正在尝试在 Linux 机器上获取类似信息。有人知道怎么做吗?
答案1
这些概念之间没有一一对应的关系。Linux 用户的权限取决于他们的用户 ID、有效用户 ID、他们所在的组以及他们试图访问的资源。
你可以使用 @fedorqui 的注释看到这些id username
请注意,如果你使用linux系统还有用户和角色的概念,其中 SELinux 用户与用户 ID 不同。并非每个 Linux 系统都在运行 SELinux。您可以通过运行 just 来查看其他角色,id
它会输出 selinux 权限以及 uid 和 group。
您id -Z
仅可以对 selinux 使用:
$ id -Z
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
答案2
我知道这是一个老话题,但万一其他人像我一样偶然发现它,这里有一种使用 rpcclient 从控制台查找 SID 的方法。首先登录 rpcclient:
rpcclient -U "fred" 192.168.0.187 (replace user name and server IP accordingly)
登录后运行此命令来查找用户 SID:
rpcclient $> lookupnames joe
joe S-1-5-21-2893105422-2373464063-1795470530-1000 (User: 1)
希望其他人觉得这有用。我花了不少时间在谷歌上搜索才找到它。这些信息可能对排除 Samba 和 ACL 故障有用。