A Systemd megváltoztatja a Linux főkönyvtárának működését

A systemd mögött álló csapat azt akarja, hogy a saját könyvtárak kezelésének új módját alkalmazza. „Új módnak” nevezni könnyed megfogalmazás – ez egy igazi paradigmaváltás a Linux számára. Itt van minden, amit tudnia kell a systemd-homedről, amely valószínűleg egy közeli Linux disztribúcióhoz érkezik.

Nem idegen a vita

Mikor systemd A 2010-ben bemutatott Linux közösség három táborra szakadt. Egyesek úgy gondolták, hogy ez egy fejlesztés, mások pedig hibás tervezésnek, amely nem felelt meg a követelményeknek a Unix filozófia. És néhányan nem törődtek így vagy úgy.

Az ellenfelek visszhangja hangos, heves és néhol már-már fanatikus volt. Lennart Poettering, szoftvermérnök a piros kalap és a systemd társfejlesztője, még halálos fenyegetéseket is kapott.

A Poetteringgel szembeni erőszakot hirdető dalok kerültek fel a YouTube-ra, és olyan webhelyek jelentek meg, amelyek megpróbálták a Linux-felhasználókat a rendszer bojkottjára kényszeríteni. Fejlesztőtársa, Kay Sievers, kritikát és visszaélést is kapott, de minden bizonnyal Poettering viselte a terhet.

Ennek ellenére nyolc hónapon belül a Fedora a systemd-t használta. 2013 végére Boltív, Debian, Manjaro, és Ubuntu mind a systemd-be költöztek. Persze a nyílt forrás dicsőség az, ha valami nem tetszik, akkor a forráskódot elcsavarhatod, és megcsinálhatod vele a dolgod. Új disztribúciók – pl Devuan, amely a Debian egyik ága volt – kizárólag a systemd használatának elkerülésére jöttek létre.

Az Ön $HOME könyvtára

A Linux könyvtárszerkezetében minden, amit csinál, a „/home” könyvtárban található. Az adatfájlok, képek, zenék és a teljes személyes könyvtárfa ebben a felhasználói fiókjáról elnevezett könyvtárban tárolódnak.

Az alkalmazások beállításai a saját mappájában, rejtett „pontkönyvtárak”-ban vannak tárolva. Ha egy fájl vagy könyvtárnév első karaktere pont (.), akkor az el van rejtve. Mivel ezeket a beállításokat a rendszer helyben tárolja, nem pedig egy központi nyilvántartásban – és mivel az otthoni könyvtár biztonsági másolata tartalmazza ezeket a rejtett fájlokat és mappákat –, az összes beállításról is biztonsági másolat készül.

  Hogyan frissítsünk Linux Mint 20.2-re

Amikor visszaállít egy biztonsági másolatot, és elindít egy alkalmazást, például a LibreOffice-ot vagy a Thunderbirdot, az megkeresi a rejtett könyvtárát. Ezenkívül megtalálja a dokumentumbeállításokat, az eszköztár beállításait és az egyéb testreszabásokat. A Thunderbird megtalálja az e-mail fiókja adatait és az e-mail címét. Nem kell átmennie az egyes alkalmazások lassú beállításának fájdalmán.

Használhatja az ls-t az -a (all) kapcsolóval a rejtett fájlok és könyvtárak megtekintéséhez. Először írja be a következőket:

ls

Ez megmutatja a szokásos fájlokat és könyvtárakat. Ezután írja be a következőket:

ls -a

Most láthatja a rejtett fájlokat és könyvtárakat.

Mivel ez a telepítés legértékesebb része, gyakran előfordul, hogy a „/home” könyvtárat saját partícióra vagy külön merevlemezre illesztik. Ily módon, ha valami katasztrofális történik az operációs rendszerrel vagy a rajta lévő partícióval, újratelepítheti a Linux disztribúcióját, vagy lecserélheti egy újra. Ezután egyszerűen csatlakoztathatja a meglévő otthoni partíciót a „/home”-on.

Adatok Önről

A kezdőkönyvtár nem csak az adatait tárolja; információkat is tárol Önről. beleértve a digitális identitás egyes attribútumait. Például az „.ssh” könyvtár információkat tárol a más számítógépekkel létrehozott távoli kapcsolatokról és az Ön által generált SSH-kulcsokról.

Az egyéb rendszerattribútumok, például a fiók felhasználóneve, jelszava és egyedi felhasználói azonosítója máshol, például „/etc/passwd” és „/etc/shadow” fájlokban tárolódnak. Ezek egy részét bárki elolvashatja, de másokat csak root jogosultsággal rendelkezők olvashatnak.

Így néz ki az „/etc/passwd” fájl tartalma:

cat /etc/passwd

A rendszeralapú változások

A systemd-homed változtatások célja, hogy egy teljesen hordozható otthoni címtárat biztosítsanak az Ön adataival és a benne tárolt Linux digitális identitással. Az UID és az összes többi azonosítási és hitelesítési mechanizmus csak a saját könyvtárában lesz tárolva.

Az „összes tojás egy kosárban” kialakításának köszönhetően a saját könyvtárak titkosítottak. A rendszer automatikusan feloldja a titkosítást, amikor bejelentkezik, és újra titkosítja őket, amikor kijelentkezik. Az előnyben részesített módszer a Linux Unified Key Setup (LUKS) lemeztitkosítás. Vannak azonban más sémák is, mint pl fscrypt.

  Az 5 legjobb Linux disztribúció játékokhoz

A JavaScript objektum jelölés (JSON) felhasználói rekord az összes identitásadatát egy „~/.identity” nevű könyvtárban tárolja. Titkosítólag alá van írva egy olyan kulccsal, amely kívül esik az ellenőrzésén.

Minden személy saját könyvtára egy visszacsatolási eszközre van felszerelve, hasonlóan ahhoz, ahogyan egy snap alkalmazást csatlakoztatnak. Így a saját könyvtáron belüli könyvtárfa az operációs rendszer címtárfájának zökkenőmentes részeként jelenik meg. A beillesztési pont alapértelmezés szerint a „/home/$USER.homedir” (a „$USER” helyett a személy fiók neve).

Milyen előnyökkel jár?

Mivel az otthoni címtár az összes adat biztonságos tokozásává válik, akár egy cserélhető eszközön is elhelyezheti otthoni címtárát. Például használhat USB-meghajtót a munkahelyi és otthoni gépek vagy bármely más rendszeres otthoni számítógép közötti mozgatáshoz.

Ezt értette Poettering „teljesen hordozható otthoni könyvtár” alatt. Azt mondta, még ha nem is szeretné mozgatni a kezdőkönyvtárat egy hordozható eszközön, ez megkönnyíti a frissítéseket és a migrációt, valamint növeli a biztonságot.

Eltávolítja az általa „oldalkocsis adatbázisoknak” nevezetteket, amelyek olyan fontos információk töredékeit tartalmazzák Önről, amelyeket Poettering szerint központosítani kellene. Az „/etc/passwd” és „/etc/shadow” fájlok hitelesítési információkat és kivonatolt jelszavakat tartalmaznak. Ugyanakkor olyan információkat is tartalmaznak, mint az alapértelmezett shell, a General Electric átfogó üzemeltetési felügyelő (GECOS) mezőben.

Poettering ezt mondta metaadatokat racionalizálni kell, és értelmes csoportokban kell tárolni az egyes személyek saját könyvtárában lévő JSON-rekordokon belül.

Az új $HOME kezelése

A systemd-homed szolgáltatás vezérlése az új homectl-n keresztül történik parancssori eszköz.

Lehetőség van felhasználók és saját könyvtárak létrehozására, valamint tárhelykorlátok beállítására minden felhasználó számára. Ezenkívül beállíthatja a jelszót, kizárhat valakit a fiókjából, vagy teljesen törölheti a fiókot. A felhasználók ellenőrizhetők, és a JSON-felhasználói rekordjaik is olvashatók.

Időzónák és egyéb helyalapú információk is beállíthatók minden felhasználó számára. Megadhatja az alapértelmezett shellt, és még környezeti változókat is beállíthat, hogy azok egy bizonyos állapotba kerüljenek, amikor valaki bejelentkezik.

Ha belenéz a „/home” könyvtárba, a következőhöz hasonló systemd-homed felügyelt bejegyzéseket lát, a felhasználónévhez „.homedir” fűzve:

/home/dave.homedir

Ne feledje, ez csak egy rögzítési pont. A tényleges titkosított saját könyvtár helye máshol található.

  YouTube Music hallgatása Linux rendszeren az Ytmdesktop segítségével

Korlátozások és problémák

A systemd-homed csak az emberek felhasználói fiókjaiban használható. Nem tudja kezelni az 1000-nél kisebb UID-vel rendelkező felhasználói fiókokat. Más szóval, a root, a démon, a bin és így tovább nem adminisztrálható az új sémával. Mindig szükség lesz a felhasználók adminisztrálásának szokásos módjaira. Ezért a systemd-homed nem globális megoldás.

Van egy ismert fogás-22 amit meg kell oldani. Amint azt korábban említettük, egy személy saját könyvtárát minden bejelentkezéskor dekódolják. De ha valaki távolról fér hozzá a számítógéphez SSH-n keresztül, akkor a saját könyvtár SSH-kulcsaira nem lehet hivatkozni, mivel a saját könyvtár addig titkosítva van. Természetesen szükség van az SSH-kulcsokra a hitelesítéshez, mielőtt bejelentkezhetne.

Ezt a problémát a systemd-homed csapata felismerte, de nem találtunk utalást ennek javítására. Biztosak vagyunk benne, hogy találnak megoldást; látványos gyakorlat lenne, ha nem tennék.

Tegyük fel, hogy valaki átviszi a saját könyvtárát egy új gépre. Ha valaki más már használja az UID-t az új gépen, akkor a rendszer automatikusan új UID-t rendel hozzá. Természetesen minden fájljának tulajdonjogát át kell rendelni az új UID-hez.

Jelenleg ezt a rekurzív, automatikus alkalmazása kezeli a chown -R parancsot. Valószínűleg ezt a jövőben másképp fogják kezelni, ha elegánsabb rendszert dolgoznak ki. Ez a nehézkezű megközelítés nem veszi figyelembe a többi felhasználóként futó démonokat és folyamatokat.

Mikor történik ez?

Ez most történik. A kódmódosítások voltak benyújtva 2020. január 20-án, és bekerültek a systemd 245-ös buildjébe, amelyet 2020 áprilisában az Ubuntu 20.04-el együtt szállítottak ki.

Ha ellenőrizni szeretné, melyik verziója van, írja be a következőt:

systemd --version

A homectl parancs azonban még nincs jelen. Az Ubuntu 20.04 hagyományos /home könyvtárat használ, és nem használja a systemd-homedet.

Természetesen az egyes disztribúciók döntik el, hogy mikor fogják tartalmazni és támogatni a systemd-homed és homectl fájlokat.

Tehát senkinek sem kell teljesen bekapcsolt vasvillák és égő fáklyák üzemmódba lépnie. Mivel a felhasználók és a saját könyvtárak kezelésének szokásos módszerei megmaradnak, továbbra is mindannyiunknak van választási lehetősége.