获取 SID 的 Linux 命令是什么

获取 SID 的 Linux 命令是什么

如果我想获取 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 故障有用。

相关内容