Open-source hra Shattered Pixel Dungeon (Wikipedie) byla vydána ve verzi 4.0.0. Přehled novinek v příspěvku na blogu.
Apple dnes představil (YouTube) iPhone Duo, iPhone 18 Pro, Watch Series 12, Watch Ultra 4 a AirPods 5.
Společnost System76 představila pracovní stanici Thelio Mira AI s předinstalovaným Pop!_OS s prostředím COSMIC nebo Ubuntu. Nakonfigurovat lze až s 16jádrovým CPU AMD Ryzen 9 9950X, 192 GB DDR5 RAM, dvěma GPU NVIDIA RTX Pro 6000 a 192 GB GPU pamětí.
DigitalOcean je sponzorem nadace Omacom Foundation stojící za linuxovou distribucí Omarchy. Přislíbená částka je 3 miliony dolarů, tj. 1 milion dolarů ročně po dobu tří let.
Na stránkách PostgreSQL bylo představeno LibreDB Studio. Jedná se o open-source self-hostované SQL IDE pro (nejenom) PostgreSQL v prohlížeči. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Byla vydána nová verze 12.0 media serveru Jellyfin (Wikipedie). Přehled novinek v poznámkách k vydání. Pro vyzkoušení je k dispozici Demo Server. Jellyfin je fork media serveru Emby, původně Media Browser.
V MikroTik RouterOS bylo nalezeno šest zranitelností společně pojmenovaných MikroTrick umožňujících útočníkovi, pokud má přístup k SSH, získat plnou kontrolu nad zařízením bez nutnosti autentizace. Ve verzích RouterOS 7.25beta3, 7.24.2, 7.23.4 a 6.49.21 je již opraveno.
Byla vydána verze 9.5 open source unixového operačního systému NetBSD (Wikipedie). Přehled novinek v poznámkách k vydání. Jedná se poslední vydání řady NetBSD 9. Doporučen je přechod na NetBSD 11 nebo NetBSD 10.
Akční adventura State of Mind je na portále GOG.com zdarma, akce trvá do 10. září.
Na Kickstarteru běží kampaň na podporu malého robotický psa Petoi Quaddle. Postaven je na ESP32-S3. V několika variantách. S řadou senzorů. Programovat lze pomocí Pythonu, C++ nebo i vizuálních bloků. Zkoušet a trénovat lze v simulátoru.
Zdravim,
mam databazi uzivatelu v ldapu a potrebuji kvuli vytvoreni noveho uzivatele zjistit uzivatele s nejvyssim uidNumber.
Takhle vypada vystup vyhledavani:
root@ubuntu:~# ldapsearch -x -LLL -b dc=example,dc=net 'uid=*' uidNumber dn: uid=ahoj,ou=people,dc=example,dc=net uidNumber: 10000 dn: uid=test,ou=people,dc=example,dc=net uidNumber: 10001 root@ubuntu:~#
Z neho jsem schopny zjistit nejvetsi UID:
root@ubuntu:~#
root@ubuntu:~# ldapsearch -x -LLL -b dc=example,dc=net 'uid=*' uidNumber | grep uidNumber | awk '{print $2}' | sort --numeric-sort | tail -n 1
10001
root@ubuntu:~#
A pro vytvoreni noveho uzivatele pouziju UID:
root@ubuntu:~# echo "`ldapsearch -x -LLL -b dc=example,dc=net 'uid=*' uidNumber | grep uidNumber | awk '{print $2}' | sort --numeric-sort | tail -n 1` + 1" | bc
10002
root@ubuntu:~#
Zda se mi to sice funkcni, ale dost neefektivni (velmi slusne receno
).
Jak se to ma spravne resit?
Diky vsem za pomoc 
awk, pokud to má být v rámci shell skriptu.
Další věc je, že často nechceme použitá UID po smazání uživatele hned "recyklovat" někomu dalšímu. V rozsáhlejším prostředí může nějakou dobu trvat, než se třeba smažou/přesunou soubory, které vlastnil smazaný uživatel. A ten nový by k nim mohl na základě stejného UID získat přístup. Možnost je přiřazovat UID sekvenčně podle nějakého čítače, který může být taky uložený v LDAPu. Dělá to tak při určité konfiguraci třeba Samba - atribut sambaNextRid v doménovém záznamu.
OpenLDAP může záznamy řadit pomocí valsort overlaye (man slapo-valsort). Myslím, že je i ve verzi 2.3. Ale stejně mi přijde jeho použití zbytečné, protože chybí způsob jak specifikovat, že má server poslat jen poslední záznam. (Jedině řadit uživatele sestupně a pomocí sizelimit vracet první záznam. Ale sémanticky je to trochu nesmyslné.)
Pokud píšete nějaky vlastní tool na přidávání uživatelů, tak já bych to řešil takhle: Stanovil bych si nějaké vyšší číslo, od kterého se budou záznamy generovat -- třeba 10000. A pak bych hledal pomocí filtru (uidNumber>=10000). Z nich vybíral nejvyšší. Jako optimalizaci, pokud by bylo uživatelů opravdu hodně, tak bych si lokálně do nějakého souboru ukládal uidNumber posledního uživatele a při hledání bych pak začínal od této hodnoty.
Tiskni
Sdílej: