Homed: od teraz systemd potrafi zarządzać także katalogami domowymi

Homed: od teraz systemd potrafi zarządzać także katalogami domowymi31.01.2020 00:36
Homed: od teraz systemd potrafi zarządzać także katalogami domowymi (fot. Pixabay)

W ramach prac nad dodaniem warstw abstrakcji dla absolutnie każdego komponentu w systemach linuksowych, projekt systemd wydał na świat nowy komponent w postaci modułu systemd-homed. Jak to bywa z systemd, emocjonalne i skrajne opinie na jego temat były gotowe jeszcze zanim commit 4119d1e60a111bacca359b61b5bc3dae29932b67 został wciągnięty do gałęzi master.

Celem komponentu homed jest rozwiązanie pewnych problemów technicznych z katalogami domowymi istniejącymi "po prostu" jako katalogi w /home lub innym miejscu zdefiniowanym w passwd lub LDAP. Problemem tym (systemd widzi problemy wszędzie) jest brak centralizacji i zależność od rozproszonych komponentów.

Obsługa katalogów domowych nie jest wszechstronna

Patrząc przez pryzmat celu ostatecznego, jakim jest system operacyjny-jako-firmware oraz systemy bezstanowe, koncepcja dostarczania katalogu domowego wymaga konfiguracji źródeł poświadczeń, dostępności autentykatora, systemu uprawnień oraz miejsca w systemie plików. Jednocześnie. Innymi słowy, miesza stan i konfigurację.

Obowiązkowy rekwizyt potrzebny w dyskusjach na temat systemd (Pixabay)
Obowiązkowy rekwizyt potrzebny w dyskusjach na temat systemd (Pixabay)

Wpięcie linuksowej maszyny do jakiejkolwiek "domeny", niech to będzie FreeIPA, 389DS czy nawet Microsoft Active Directory, rozprasza zarządzanie katalogami domowymi do poziomu, na którym nie wiadomo, kto za nie odpowiada. Pam? A może sssd? Albo /usr/libexec/accounts-daemon, nie daj Boże? I jaki jest fallback takiego scenariusza, jak coś się zepsuje? Czy użytkownik staje się bezdomny i musi się udać na wygnanie? Tak wiele pytań... A podobno identity management wprowadza centralizację.

Nowoczesna warstwa abstrakcji z ograniczeniami

Systemd radośnie dostarcza rozwiązanie tego problemu, w postaci skonteneryzowanych katalogów domowych, definiowanych przez manifest JSON! Demon homed dokonywałby dźwigania ciężarów związanego z mapowaniem zarządzania tożsamością/logowaniem z zasobami katalogu domowego oraz rozróżnianiem UIDów. Ma przy okazji zapewnić szyfrowanie LUKS z wykorzystaniem hasła.

Cele projektu homed. Prezentacja stworzona Metodą Takahashi, aczkolwiek gdzieś tu chyba czai się dowcip o PowerPoincie na Linuksa
Cele projektu homed. Prezentacja stworzona Metodą Takahashi, aczkolwiek gdzieś tu chyba czai się dowcip o PowerPoincie na Linuksa

Manifesty JSON, definiujące użytkowników i poświadczenia na potrzeby homed, mają być nowym, uogólnionym nośnikiem informacji na temat użytkowników, pozwalając na odeseparowanie od warstwy uwierzytelniania oraz współpracę z systemd-logind. Pozwala to także "rozumieć" abstrakcyjnych użytkowników dynamicznych systemd na takich samych prawach, jak prawdziwi. Użytkownicy to koncepcja realizująca zbliżone potrzeby do tych pokrywanych przez Managed Service Accounts w systemie Windows. Oczywiście, aby całość działała, potrzebny jest też pam. Ściślej mówiąc pam_systemd, rzecz jasna.

Nowe narzędzia

Przy takiej architekturze zarządzania katalogami domowymi, system-logind może się wykazać jeszcze bardziej, nakładając odpowiednie limity zasobów dla użytkownika, wykraczające poza klasyczne quoty. A do narzędzi zarządzających dołącza nowy element, homectl. Poza tworzeniem i aktywacją katalogów domowych, oferuje on takie kwiatki, jak:


homectl passwd `whoami`

Jak go tu więc nie kochać. Baza użytkowników jest zarządzana przez userdb.service (wreszcie centralizacja!) oraz dedykowane polecenie userdbctl.

Wątpliwości

Systemd-homed ma pewną cechę charakterystyczną dla wielu komponentów systemd. Pozornie jest uniwersalny, zdradza nawet znamiona zastosowań "korporacyjnych" (w tym przypadku, centralizacja i łatwa współpraca z LDAP), ale okazuje się być mocno zorientowany dla użytkowników indywidualnych.

Systemy szyfrowane całościowo LUKSem raczej nie zaczną udawać bezstanowych z dnia na dzień i używać szyfrowania LUKSem samych katalogów domowych. Zresztą, jak się wtedy zalogować przez SSH? Katalog będzie zaszyfrowany, a klucz w środku! Takich pytań jest więcej.

Nowe rozwiązanie pojawi się w wersji 245 systemd i zapewne najpierw ujrzymy je w Fedorze. Jest ono póki co dość elementarne, ale na szczęście również całkowicie opcjonalne. Podobnie jak systemd-resolved i korzystanie z Linuksa na desktopie 😉

Z jednej strony, jest to interesujące rozwiązanie problemu, w którym klasyczny Uɴɪx wcale nie skaluje się tak ładnie, jak byśmy chcieli. Porządkuje szereg warstw abstrakcji i równoległych, kompletnie odmiennych metod zarządzania tożsamością, przypominając że zarządzanie tożsamością to nie do samo, co zarządzanie danymi. Z drugiej jednak strony, jest to oddzielna usługa do obsługi katalogów domowych!

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.