Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 24.5.1 Havier. Přehled novinek v Changelogu.
Společnost xAI založena Elonem Muskem a stojící za AI LLM modelem Grok získala investici 6 miliard dolarů.
Finálový zápas mistrovství světa v ledním hokeji přinesl nový rekord NIX.CZ (𝕏): "Dosavadní absolutní maximum našeho propojovacího uzlu bylo překonáno v čase 21:10, kdy jsme při přenosu dat dosáhli 3,14 Tbps. Je třeba také doplnit, že po deváté hodině večerní byly na maximu i ostatní datové přenosy nesouvisející s hokejovým šampionátem".
Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 12. a 13. října na FIT ČVUT v pražských Dejvicích. CfP poběží do konce prázdnin, pak proběhne veřejné hlasování a výběr přednášek.
Na crowdsourcingové platformě Crowd Supply byla spuštěna kampaň na podporu open source biometrického monitoru ve tvaru hodinek HealthyPi Move. Cena je 249 dolarů a plánovaný termín dodání listopad letošního roku.
Firma Murena představila /e/OS verze 2.0. Jde o alternativní sestavení Androidu bez aplikací Google. Mezi novinkami je podrobnější nastavení ochrany soukromí před sledováním aplikacemi. Murena prodává několik smartphonů s předinstalovaným /e/OS (Fairphone, repasovaný Google Pixel 5).
Do 30. května lze v rámci akce Warhammer Skulls 2024 získat na Steamu zdarma hru Warhammer 40,000: Gladius - Relics of War.
HelenOS (Wikipedie), tj. svobodný operační systém českého původu založený na architektuře mikrojádra, byl vydán ve verzi 0.14.1. Přehled novinek v poznámkách k vydání. Vypíchnou lze nabídku Start. Videopředstavení na YouTube.
BreadboardOS je firmware pro Raspberry Pi Pico (RP2040) umožňující s tímto MCU komunikovat pomocí řádkového rozhraní (CLI). Využívá FreeRTOS a Microshell.
PAM (Pluggable Authentication Modules) je sada knižníc, ktorá integruje viaceré nízko-úrovňové autentizačné mechanizmy do jedného API. Použitie stabilného API pomáha oddeliť detaily a spôsob autentizácie od programu, ktorý potrebuje overovať totožnosť užívateľov.
Pôvodne bol PAM vyvinutý v Sun Microsystems. V súčasnosti je podporovaný vo vačšine UNIXových systémov, napr. AIX, HP-UX, Solaris, Linux, FreeBSD, MacOS X a NetBSD. Pokiaľ viem, tak nie je podporovaný v Slackware a OpenBSD.
Keďže PAM uplatňuje modulárny princíp, je jednoduché napríklad pridať nový spôsob autentizácie (čítačku odtlačkov prstov) či zmeniť spôsob autentizácie v nejakom programe (chcem overovať heslá pomocou Kerbera namiesto /etc/shadow
).
Celý systém sa skladá z troch súčastí:
libpam
– oproti nej sú linkované programy, ktoré chcú PAM využívať/lib/security
(Solaris a niektoré UNIXy /usr/lib/security
) a do pamäte sú zavádzané dynamickyKeďže PAM je vo väčšine linuxových distribúcii už predinštalovaný, nebudem tu popisovať, ako ho do systému nainštalovať, a rovno sa vrhneme na konfiguráciu.
Konfigurácia PAMu je uložená v súbore /etc/pam.conf
alebo rozdelená do viacerých súborov v adresári /etc/pam.d
. Ak tento adresár existuje, súbor pam.conf
sa ignoruje. Dovolím si tvrdiť, že z dôvodu prehľadnosti sa používa väčšinou varianta s /etc/pam.d
.
Konfiguračný súbor /etc/pam.conf
obsahuje riadky v
tvare:
service type control module-path module-args
Syntax súborov v /etc/pam.d/
je rovnaká, až na pole
service
. Toto pole sa neuvádza a namiesto neho sa
použije názov konfiguračného súboru.
Každý riadok predstavuje pravidlo, ktoré sa uplatní pri autentizácii
v programe service
. Čo konkrétne treba uviesť do tohoto poľa (resp. ako pomenovať konfiguračný súbor) už závisí na onom programe, zväčša to býva práve názov programu. Ak v poli service
použijeme kľúčové slovo other
, nastavíme implicitné správanie pre ostatné programy. Z bezpečnostných dôvodov sa tu používa len modul
pam_deny.so
, ktorý užívateľovi prístup zakáže.
Pravidlá sa samozrejme môžu reťaziť, čím dosiahneme kombinácie rôznych autentizačných mechanizmov. K slovu sa dostávajú postupne tak, ako sú za sebou zapísané.
Pole type
musí obsahovať jedno z kľúčových slov
account
, auth
, password
a
session
. Každé z nich pokrýva jeden z aspektov
autentizačného procesu. Ich význam je nasledovný:
account
– ako overiť existenciu a platnosť užívateľského účtu, práva k danej službe a pod.auth
– ako overiť identitu užívateľapassword
– zmeny hesiel (ako heslo zmeniť, ako overiť, či je dostatočne silné a pod.)session
– definuje, čo sa má stať pred udelením oprávnenia a po jeho odobratí. Napr. pripojenie domovského adresára užívateľa, auditing a pod.Pole control
určuje, aký vplyv má modul na prebiehajúci
autentizačný proces. Môže nadobúdať tieto hodnoty:
required
– zlyhanie modulu spôsobí zlyhanie autentizácie, ale až po skončení ostatných zreťazených modulovrequisite
– zlyhanie modulu spôsobí okamžité zlyhanie autentizáciesufficient
– úspech tohoto modulu postačuje na úspešnú autentizáciu (pokiaľ predtým nezlyhal modul s "required")optional
– úspech alebo zlyhanie tohoto modulu sa berie do úvahy iba vtedy, ak je to jediný modul daného typu asociovaného s touto službou.Pole control
môže obsahovať i relatívne nové kľúčové
slovo include
, ktoré spôsobí vloženie pravidiel zo
súboru špecifikovaného v poli module-path
. To nám
umožňuje vložiť spoločné nastavenia do jediného súboru, takže pri
zmene stačí upraviť len tento súbor.
Do poľa module-path
sa uvádza cesta k modulu. Táto
cesta môže byť buď absolútna, alebo relatívna vzhľadom k adresári, v
ktorom sú PAM moduly (väčšinou /lib/security
).
V poslednom poli module-args
sa nachádzajú parametre modulu. Tie môžu byť pre každý modul iné, zistiť sa dajú v dokumentácii daného modulu. Väčšina modulov podporuje parameter debug
, ktorý spôsobí podrobnejší výpis do systémového logu.
Moduly, ktoré vyžadujú po užívateľovi heslo, tiež zvyknú podporovať parametre try_first_pass
a use_first_pass
. Rozdiel medzi nimi je v tom, že try_first_pass
sa snaží použiť heslo od niektorého z predchádzajúcich modulov a v prípade, že žiadne neexistuje, si ho vyžiada od užívateľa. Parameter use_first_pass
naopak od užívateľa heslo nežiada a rovno zlyhá.
Väčšina modulov má svoju manuálovú stránku, v ktorej je popísaná činnosť modulu a podporované parametre.
/etc/passwd
a /etc/shadow
Na príklade si ukážeme konfiguráciu pre GDM, v ktorej povolíme prístup lokálnym užívateľom v /etc/passwd
po overení odtlačku prstu a zadaní hesla. Niektorí užívatelia majú v domovskom adresári šifrované SSH kľúče, ale sú leniví a nechce sa im zadávať pri každom použití ssh heslo. Preto im s pomocou programu ssh-agent
sprístupníme SSH kľúč po dobu trvania sedenia.
Konfigurácia je uvedená v súbore /etc/pam.d/gdm
, do ktorého sa vkladá spoločný súbor /etc/pam.d/system-auth
(je uvedený len pre úplnosť).
Prihlásenie začne odobraním odtlačku prsta. Následne si modul
pam_ssh.so
vypýta od užívateľa heslo k SSH kľúču a pomocou
programu ssh-agent
kľúč sprístupní až do konca sedenia. Ak
tento modul zlyhá, nič sa nedeje, užívateľ má stále možnosť sa prihlásiť,
akurát nebude mať v ssh-agentovi svoj kľúč.
Ďalej sa overí heslo v module pam_unix.so
. Parameter
try_first_pass
hovorí, že sa má najskôr skúsiť heslo z
predchádzajúcich modulov. Ak nevyhovie, systém sa na heslo opýta znovu.
Súbor /etc/pam.d/gdm:
auth optional pam_env.so auth required pam_thinkfinger.so auth required pam_nologin.so auth optional pam_ssh.so auth include system-auth account include system-auth password include system-auth session include system-auth session optional pam_ssh.so
Súbor /etc/pam.d/system-auth:
auth required pam_env.so auth sufficient pam_unix.so try_first_pass likeauth nullok auth required pam_deny.so account required pam_unix.so password required pam_cracklib.so difok=2 minlen=8 \ dcredit=2 ocredit=2 try_first_pass retry=3 password sufficient pam_unix.so try_first_pass use_authtok \ nullok md5 shadow password required pam_deny.so session required pam_limits.so session required pam_unix.so
Na záver ešte uvediem malú poznámku: pri pokusoch s PAMom buďte opatrní. Zmazanie alebo poškodenie konfigurácie PAMu má ten istý účinok, ako keď zamknete svoj byt a kľúče hodíte do kanála – už sa dovnútra viac nedostanete (bežnými metódami, samozrejme).
Nástroje: Tisk bez diskuse
Tiskni Sdílej:
# required – zlyhanie modulu spôsobí zlyhanie autentizácie, ale až po skončení ostatných zreťazených modulov
# requisite – zlyhanie modulu spôsobí okamžité zlyhanie autentizácie
a ukazka z konfiguracneho syboru:
password required pam_cracklib.so difok=2 minlen=8 \ dcredit=2 ocredit=2 try_first_pass retry=3 password sufficient pam_unix.so try_first_pass use_authtok \ nullok md5 shadow password required pam_deny.sopodla vsetkeho co je v clanku uvedene pokial pam_deny skonci s chybou (co skonci vzdy) ani zmena hesla nemoze nikdy prebehnut... Preto by mozno nebolo zle uviest sposob retazenia podrobnejsie, aby clanok ziskal aj vyznam: kazdy kto s PAMom robil uz vie ako funguje, a ten co s nim nerobil to podla clanku nepochopi, takze v sucasnom zneni trochu useless... Pokial sa mylim a ostatni to pochopili, prosim nekamenovat...
sufficient
v poli control
stačí k ověření, takže na pam_deny.so
by v případě, že neselže pam_unix.so
, vůbec nemělo dojít, ne?
pam_deny
máte pam_unix
se sufficient
, takže pokud ten uspěje, výsledkem je úspěch a na pam_deny
už nedojde.
Já s tímto teprve začínám, takže jsem to taky moc nepochopil. Nevěděl by někdo jak rozchodit přihlašování do systému pomocí IKey3000. Čerpal jsem z http://www.linuxexpres.cz/hardware/sifrovaci-token-ikey-3000, ale když jsem do /etc/pam.d/system-auth napsal přesně to, co v článku, tak to skončilo ne neúspěchem. Za případné rady děkuji.