Если я хочу получить SID конкретного пользователя в Windows. Я бы запустить следующий cmd из окна DOS:

cmd> wmic useraccount get name,sid
example output> kehelly S-1-5-21-3623811015-3361044348-30300820-1013

SID: идентификатор безопасности.

Когда пользователь входит в компьютер, его SID пользователя и привилегии считываются. Когда этот пользователь запрашивает доступ к ресурсу, проверяется SID, и доступ предоставляется или запрещается в зависимости от SID.

Я пытаюсь получить похожую информацию на машине Linux. Кто-нибудь знает как это сделать?

2 ответа2

3

Между этими понятиями нет взаимно однозначного сопоставления. Пользователи Linux имеют разрешения на основе своего идентификатора пользователя, эффективного идентификатора пользователя, в каких группах он находится, и ресурса, к которому они пытаются получить доступ.

Вы можете видеть их как заметки @fedorqui, используя id username

Обратите внимание, что если вы используете selinux, существует также концепция пользователей и ролей, где пользователь SELinux отличается от идентификатора пользователя. Не каждая система Linux работает под управлением SELinux. Вы можете увидеть дополнительные роли, запустив просто id и он выдаст разрешения selinux, а также uid и group.

Вы можете использовать id -Z только для selinux:

$ id -Z
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
0

Я знаю, что это старая ветка, но в случае, если кто-то наткнется на нее, как я, здесь, это способ найти SID из консоли с помощью rpcclient. Первый вход в 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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .