SID в Unix?
От: dmitry251  
Дата: 18.12.22 15:52
Оценка:
Всем привет.
переношу одну небольшую прогу с обычного C# в Net Core 3.1, чтобы поддерживала линукс.
программа идентифицирует пользователя ,который с ней работает по SID. Удобно иметь уникальный идентификатор как в доменной среде, так и без нее.

в линуксе аналога быстрым поиском не вижу.

1) Есть простой цифровой идентификатор локального пользователя (например у root это 1000 я так понял), и
2) _будет_ идентификатор, когда пользователь будет в домене (но это не точно, может что-то неправильно понял).
есть еще какой-то идентификатор, но его не получить под самим пользователем — нет прав.

в общем, подскажите плз, есть в unix такой универсальный уникальный id, который бы и для доменной среды оставался таким же (когда пользак будет ходить по другим компам со своей учеткой) и без домена, и чтобы с правами этого самого пользователя его можно было получить?

зы. тестю все это на astra linux сейчас.
Отредактировано 18.12.2022 15:56 dmitry251 . Предыдущая версия . Еще …
Отредактировано 18.12.2022 15:55 dmitry251 . Предыдущая версия .
Re: SID в Unix?
От: vsb Казахстан  
Дата: 18.12.22 16:02
Оценка:
Не слышал ни про какие домены в юниксе.
Re[2]: SID в Unix?
От: dmitry251  
Дата: 18.12.22 16:31
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Не слышал ни про какие домены в юниксе.



о как, т.е. для каждого пользака в сети админ идет и создает учетки руками локально? если пользак уволился, идет и нового создает?
Отредактировано 18.12.2022 16:31 dmitry251 . Предыдущая версия .
Re[3]: SID в Unix?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 18.12.22 16:46
Оценка:
Здравствуйте, dmitry251, Вы писали:

vsb>>Не слышал ни про какие домены в юниксе.


D>о как, т.е. для каждого пользака в сети админ идет и создает учетки руками локально? если пользак уволился, идет и нового создает?


Есть YP/NIS, есть LDAP и т.п., есть общая среда на этой базе (аналог домена), а вот SID в привычном виде не водится.
The God is real, unless declared integer.
Re: SID в Unix?
От: Anton Batenev Россия https://github.com/abbat
Дата: 18.12.22 17:38
Оценка:
Здравствуйте, dmitry251, Вы писали:

d> в общем, подскажите плз, есть в unix такой универсальный уникальный id, который бы и для доменной среды оставался таким же (когда пользак будет ходить по другим компам со своей учеткой) и без домена, и чтобы с правами этого самого пользователя его можно было получить?


Если я правильно тебя понял, то такого нет. ID текущего пользователя ты получаешь по getuid/geteuid. Локальный и какой-нибудь LDAP/sssd пользователь с одним и тем же логином будут иметь разные UID потому что для системы это будут _разные_ пользователи. Но возможно я неправильно понял что ты хочешь.
Re[2]: SID в Unix?
От: dmitry251  
Дата: 18.12.22 18:13
Оценка:
Здравствуйте, Anton Batenev, Вы писали:

AB>Здравствуйте, dmitry251, Вы писали:


d>> в общем, подскажите плз, есть в unix такой универсальный уникальный id, который бы и для доменной среды оставался таким же (когда пользак будет ходить по другим компам со своей учеткой) и без домена, и чтобы с правами этого самого пользователя его можно было получить?


AB>Если я правильно тебя понял, то такого нет. ID текущего пользователя ты получаешь по getuid/geteuid. Локальный и какой-нибудь LDAP/sssd пользователь с одним и тем же логином будут иметь разные UID потому что для системы это будут _разные_ пользователи. Но возможно я неправильно понял что ты хочешь.


а если пользователь вошел через ldap/sssd то командой getuid/geteuid можно будет получить его uid? не локальный (т.е. эта команда будет работать вообще, или для получения uid ldap нужны другие команды?)
Отредактировано 18.12.2022 18:16 dmitry251 . Предыдущая версия .
Re: SID в Unix?
От: m2user  
Дата: 18.12.22 21:23
Оценка:
D>переношу одну небольшую прогу с обычного C# в Net Core 3.1, чтобы поддерживала линукс.
D>программа идентифицирует пользователя ,который с ней работает по SID. Удобно иметь уникальный идентификатор как в доменной среде, так и без нее.

uid, gid уникальные только в пределах той области, в которой задан пользователь (отдельная машина или какой-нибудь directory server).
Строго говоря тоже верно и для SID: если клонировать машинку, то SID локальных пользователей будут одинаковыми (аналогичное верно и для AD домена).

Чтобы локальный и сетевой linux пользователь могли сосуществовать обычно разделяют диапазон UID для локальных (например <10000) и сетевых (net users).
Но это все зависит от реализации (используемого directory server), нет какого-то канонического подхода.
Разница с SID в том, что SID машинки (домена), который служит префиксом для SID пользователей генерируется случайно (и существенно длиннее в байтах чем UID), поэтому как правило не пересекаются.

Я думаю, для начала стоит определиться в какой области нужный Вам ID должен быть уникален (отдельная машинка, локальная сеть, вселенная).
Re[3]: SID в Unix?
От: Anton Batenev Россия https://github.com/abbat
Дата: 20.12.22 07:03
Оценка:
Здравствуйте, dmitry251, Вы писали:

d> а если пользователь вошел через ldap/sssd то командой getuid/geteuid можно будет получить его uid? не локальный (т.е. эта команда будет работать вообще, или для получения uid ldap нужны другие команды?)


Мне не на чем точно проверить, но должно работать. Системе должно быть все равно в какой uid мапится некий логин, лишь бы все остальное соответствовало.
Re: SID в Unix?
От: Pzz Россия https://github.com/alexpevzner
Дата: 20.12.22 17:22
Оценка:
Здравствуйте, dmitry251, Вы писали:

D>в общем, подскажите плз, есть в unix такой универсальный уникальный id, который бы и для доменной среды оставался таким же (когда пользак будет ходить по другим компам со своей учеткой) и без домена, и чтобы с правами этого самого пользователя его можно было получить?


Правильный вопрос, что такое домен в линуксном понимании? В линухе такого нет, пришло из венды. Где-то вокрух этой околовендовой инфраструктуры и надо искать ответ...

https://www.redhat.com/sysadmin/linux-active-directory
Re: SID в Unix?
От: Sheridan Россия  
Дата: 13.01.23 13:15
Оценка:
Здравствуйте, dmitry251, Вы писали:

D>в общем, подскажите плз, есть в unix такой универсальный уникальный id, который бы и для доменной среды оставался таким же (когда пользак будет ходить по другим компам со своей учеткой) и без домена, и чтобы с правами этого самого пользователя его можно было получить?

Пользователь доменный от freeipa/AD? Тогда оно наверняка об kerberos. kinit/klist подёргай и вообще про kerberos почитай
Опять же не забывай, что работает это так:
1. Ты логинишься каким-то линупсопользователем
2. От него выполняешь kinit user@domain
И доменный юзер "маппится" на текущего линупс-юзера об выданный тикет
Можно настраивать конечно логин сразу от доменной учётки, но проще именно так, об kinit
Matrix has you...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.