RHEL/Alma python3-libuser

RHEL/Alma python3-libuser
« kdy: 16. 05. 2025, 12:25:01 »
Dívám se do repozitářů RHEL/Alma 10 a vidím, že je zde jenom knihovna libuser. Ale pořád není python3-libuser. Bylo to tak i v 9 verzi, ale proč vlastně ta podpora pro Python chybí. Není aní v epel. Je pro to nějaký konkrétní důvod?


Re:RHEL/Alma python3-libuser
« Odpověď #1 kdy: 16. 05. 2025, 13:45:34 »
Můžu jen odhadovat, ale řekl bych, že v RHEL9 ani 10 se v rámci systému ten Python binding nikde nepoužívá žádným dalším nástrojem a není tedy v základní distribuci.
Pokud bych to potřeboval, tak bych zkusil buď "na prasáka" nainstalovat balíček z Fedory 40 nebo si ho normálně přebuildoval pro RHEL.

Ale autoritativní odpověď z RH, proč to tam není, podle mě dostanete např. od maintainerů balíčku.
Jinak celý libuser je evidentně deprecated od Fedory 40, viz.
https://fedoraproject.org/wiki/Changes/LibuserDeprecation

Re:RHEL/Alma python3-libuser
« Odpověď #2 kdy: 16. 05. 2025, 15:24:10 »
A je nějaká jiná možnost jak pythonem upravovat uživatele?

Re:RHEL/Alma python3-libuser
« Odpověď #3 kdy: 16. 05. 2025, 20:54:59 »
A je nějaká jiná možnost jak pythonem upravovat uživatele?

Kromě nějakých jednorázovek jsem to úplně nepotřeboval, ale asi by záleželo o co by se mělo jednat.

Pokud by to bylo na nějaké jednotné nastavování, tak bych asi přemýšlel o Ansible. Můžu ho volat z Pythonu přes Ansible Runner (ale samozřejmě pak musí mít nastavený Ansible, inventory atp.). Teoreticky i přímo ty jeho moduly (Ansible je napsaný v Pythonu), ale tam pak člověk pracuje s interním API, což není nic garantovaného.

Kdyby šlo o nějakou relativně jednoduchou věc s pár funkcemi, metodami a kde by se hodilo nemít externí závislosti, tak bych si prostě nějak zabalil volání systémových nástrojů přes subprocess. Tzn. useradd, usermod, userdel, groupadd.. podle potřeby.
Pro přístup k aktuálním lokálním uživatelům a skupinám bych použil moduly pwd a grp, co jsou ve standardní knihovně a fungují na Linuxu i FreeBSD, takže člověk ani nemusí volat třeba getent.

Finálně, byť jsem to nikdy předtím nepoužíval, tak ten Python binding pro libuser šel normálně sestavit, jak jsem zmiňoval.
Almu neznám, ale otestoval jsem to na aktuálně vydaném RHEL 10. Přes "dnf download --source libuser" jsem si stáhnul zdrojový balíček: libuser-0.64-10.el10.src.rpm.
Pak jsem povolil CRB repozitář, dotahal nástroje a závislosti pro sestavení, nastavil pár rpm maker pro aktuálního uživatele a standardně to přes rpmbuild --rebuild nechal celé znovu sestavit. Rovnou to udělá i balíček python3-libuser, který se pak dá nainstaloval.