Systemd vil ændre, hvordan din Linux-hjemmemappe fungerer

Teamet bag systemd vil have dig til at tage en ny måde at administrere hjemmemapper på. At kalde det en “ny måde” er at sige det let – dette er et rigtigt paradigmeskifte for Linux. Her er alt, hvad du behøver at vide om systemd-homed, som sandsynligvis kommer til en Linux-distro nær dig.

Ingen fremmed for kontroverser

Hvornår systemd blev introduceret i 2010, delte Linux-fællesskabet sig op i tre lejre. Nogle mente, at det var en forbedring, og andre mente, at det var et mangelfuldt design, som ikke holdt sig Unix-filosofien. Og nogle var ligeglade på den ene eller den anden måde.

Modreaktionen fra modstanderne var høj, ophedet og i nogle tilfælde næsten fanatisk. Lennart Poettering, en softwareingeniør hos rød hat og medudvikler af systemd, modtog endda dødstrusler.

Sange, der fortaler for vold mod Poettering, blev lagt på YouTube, og der dukkede op på websteder, der forsøgte at tvinge Linux-brugere til at boykotte systemd. Hans medudvikler, Kay Sievers, fik også kritik og misbrug, men Poettering bar bestemt hovedet af det.

Men inden for otte måneder brugte Fedora systemd. Ved udgangen af ​​2013 Arch, Debian, Manjaro, og Ubuntu var alle flyttet til systemd. Selvfølgelig er herligheden ved open source, at hvis du ikke kan lide noget, kan du forkaste kildekoden og gøre din egen ting med den. Nye distributioner-som Devuan, som var en forgrening af Debian—blev skabt udelukkende for at undgå at bruge systemd.

Din $HOME-mappe

I Linux-biblioteksstrukturen ligger alt, hvad du gør, i mappen “/home”. Dine datafiler, billeder, musik og hele personlige mappetræ er gemt i denne ene mappe, der er opkaldt efter din brugerkonto.

Indstillingerne for dine applikationer gemmes i din hjemmemappe i skjulte “punktmapper.” Hvis det første tegn i et fil- eller biblioteksnavn er et punktum (.), er det skjult. Fordi disse indstillinger er gemt lokalt og ikke i et centralt register – og fordi en sikkerhedskopi af din hjemmemappe indeholder disse skjulte filer og mapper – bliver alle dine indstillinger også sikkerhedskopieret.

  Sådan finder du software på obskure Linux-distributioner

Når du gendanner en sikkerhedskopi og starter en applikation, som LibreOffice eller Thunderbird, leder den efter dens skjulte mappe. Den finder også dine dokumentpræferencer, værktøjslinjeindstillinger og eventuelle andre tilpasninger. Thunderbird finder dine e-mail-kontooplysninger og din e-mail. Du behøver ikke gå igennem smerten ved langsomt at opsætte hver applikation.

Du kan bruge ls med muligheden -a (alle) for at se skjulte filer og mapper. Skriv først følgende:

ls

Dette viser dig de almindelige filer og mapper. Skriv derefter følgende:

ls -a

Nu kan du se de skjulte filer og mapper.

Fordi det er den mest værdifulde del af en installation, er det almindeligt, at mappen “/home” monteres i sin egen partition eller på en separat harddisk. På denne måde, hvis der sker noget katastrofalt med operativsystemet eller den partition, det er på, kan du enten geninstallere din Linux-distribution eller skifte til en ny. Derefter kan du bare genmontere din eksisterende hjemmepartition på “/home.”

Data om dig

Din hjemmemappe gemmer ikke kun dine data; den gemmer også oplysninger om dig. herunder nogle egenskaber ved din digitale identitet. For eksempel gemmer din “.ssh”-mappe information om fjernforbindelser, du har oprettet til andre computere, og eventuelle SSH-nøgler, du har genereret.

Andre systemattributter, såsom dit kontobrugernavn, adgangskode og unikke bruger-id, gemmes andre steder i filer som “/etc/passwd” og “/etc/shadow.” Enhver kan læse nogle af disse, men andre kan kun læses af folk, der har root-privilegier.

Sådan ser indholdet af filen “/etc/passwd” ud:

cat /etc/passwd

De systemd-homed ændringer

Hensigten med de systemd-homed-ændringer er at levere en fuldt bærbar hjemmemappe med både dine data og din digitale Linux-identitet gemt i den. Dit UID og alle andre identifikations- og autentificeringsmekanismer vil kun blive gemt i din hjemmemappe.

På grund af deres “alle æg i én kurv”-design er hjemmekataloger krypteret. De dekrypteres automatisk, når du logger på, og krypteres igen, når du logger ud. Den foretrukne metode er at bruge Linux Unified Key Setup (LUKS) diskkryptering. Der findes dog andre ordninger, som f.eks fscrypt.

  Sådan downloader du dit Google Musikbibliotek i Linux via kommandolinje

EN JavaScript-objektnotation (JSON) brugerregistrering gemmer alle dine identitetsoplysninger i en mappe kaldet “~/.identity.” Det er kryptografisk signeret med en nøgle, der er uden for din kontrol.

Hver persons hjemmemappe er monteret på en loopback-enhed, svarende til den måde, hvorpå en snap-applikation er monteret. Dette er så bibliotekstræet i hjemmemappen vises som en sømløs del af mappetræet i operativsystemet. Monteringspunktet er som standard “/home/$USER.homedir” (“$USER” erstattes af personens kontonavn).

Hvad er fordelene?

Fordi din hjemmemappe bliver en sikker indkapsling af alle dine data, kan du endda have din hjemmemappe på en flytbar enhed. For eksempel kan du bruge et USB-drev til at flytte det mellem dine arbejds- og hjemmemaskiner eller en hvilken som helst anden systemd-hjemmecomputer.

Dette er, hvad Poettering mente med “en fuldt bærbar hjemmemappe.” Han sagde, at selvom du ikke ønsker at flytte rundt på din hjemmemappe på en bærbar enhed, vil dette gøre opgraderinger og migreringer nemmere og øge sikkerheden.

Det fjerner det, han kalder “sidevognsdatabaser”, som indeholder uddrag af vigtig information om dig, som Poettering mener bør centraliseres. Filerne “/etc/passwd” og “/etc/shadow” indeholder godkendelsesoplysninger og hash-kodede kodeord. Men de har også oplysninger som din standard shell, den General Electric Comprehensive Operations Supervisor (GECOS) felt.

Poettering sagde dette metadata bør rationaliseres og opbevares i meningsfulde grupper i JSON-registreringen for hver person i deres hjemmemappe.

Håndtering af dit nye $HOME

Den systemd-homed-tjeneste styres gennem den nye homeectl kommandolinjeværktøj.

Der er muligheder for at oprette brugere og hjemmemapper og indstille lagergrænser for hver bruger. Du kan også indstille adgangskoden, låse nogen ude af hans konto eller slette en konto helt. Brugere kan inspiceres, og deres JSON-brugerposter kan også læses.

Tidszoner og andre lokationsbaserede oplysninger kan også indstilles for hver bruger. Du kan angive standardskallen og endda indstille miljøvariabler, så de er i en bestemt tilstand, hver gang nogen logger på.

Hvis du kigger i “/home”-mappen, ser du systemd-homed administrerede poster, der ser ud som følgende, med “.homedir” tilføjet til brugernavnet:

/home/dave.homedir

Husk, dette er kun et monteringspunkt. Placeringen af ​​den faktiske krypterede hjemmemappe er et andet sted.

  Sådan spiller du Trine Enchanted Edition på Linux

Begrænsninger og problemer

systemd-homed er kun til brug på menneskers brugerkonti. Den kan ikke håndtere brugerkonti med et UID på mindre end 1.000. Med andre ord kan root, daemon, bin og så videre ikke administreres med det nye skema. Der vil altid være behov for standardmåderne til at administrere brugere. Derfor er systemd-homed ikke en global løsning.

Der er en kendt fangst-22 det skal løses. Som vi nævnte tidligere, dekrypteres en persons hjemmemappe, hver gang han eller hun logger ind. Men hvis nogen fjernadgang til computeren via SSH, kan SSH-nøglerne i hjemmemappen ikke refereres, fordi hjemmemappen stadig er krypteret indtil det person logger ind. Selvfølgelig skal man have SSH-nøglerne til at autentificere sig imod, før han eller hun kan logge ind.

Dette var et anerkendt problem af systemd-homed-teamet, men vi kunne ikke finde nogen reference om en rettelse til dette. Vi er sikre på, at de vil komme med en løsning; det ville være en spektakulær pratfall, hvis de ikke gør det.

Lad os sige, at nogen transporterer sin hjemmemappe til en ny maskine. Hvis UID’et allerede bliver brugt på den nye maskine af en anden, vil han automatisk blive tildelt et nyt UID. Selvfølgelig skal alle hans filer have deres ejerskab overført til det nye UID.

I øjeblikket håndteres dette ved en rekursiv, automatisk anvendelse af kommandoen chown -R. Dette vil formentlig blive håndteret anderledes i fremtiden, når der udvikles en mere elegant ordning. Denne hårdhændede tilgang tager ikke højde for de dæmoner og processer, der kører som andre brugere.

Hvornår sker dette?

Dette sker nu. Kodeændringerne var indsendt den 20. januar 2020, og de var inkluderet i build 245 af systemd, som blev leveret med Ubuntu 20.04 i april 2020.

For at kontrollere, hvilken version du har, skal du skrive følgende:

systemd --version

Homectl-kommandoen er dog ikke til stede endnu. Ubuntu 20.04 bruger en traditionel /home-mappe og bruger ikke systemd-homed.

Det er selvfølgelig op til de enkelte distributioner at beslutte, hvornår de vil inkludere og understøtte systemd-homed og homeectl.

Så der er ingen grund til at gå ind i fuld-on højgafler og brændende fakler. Fordi standardmetoderne til styring af brugere og hjemmekataloger forbliver, har vi alle stadig valgmuligheder.