HOMECTL(1)

BEZEICHNUNG
homectl - Erstellen, Entfernen, Ändern oder Untersuchen von Home-Verzeichnissen

ÜBERSICHT

homectl [OPTIONEN…] {BEFEHL} [NAME…]

BESCHREIBUNG

homectl kann zum Erstellen, Entfernen, Ändern oder Untersuchen des Home-Verzeichnisses eines Benutzers verwandt werden. Es ist die primäre Befehlsschnittstelle für systemd-homed.service(8), der die Home-Verzeichnisse von Benutzern verwaltet.

Durch systemd-homed.service verwaltete Home-Verzeichnisse sind eigenständig und enthalten daher den kompletten Metadatensatz des Benutzers im Speicher selbst, wodurch sie leicht zwischen Maschinen migriert werden können. Insbesondere beschreibt ein Home-Verzeichnis einen zugehörigen Benutzerdatensatz und jeder von systemd-homed.service verwaltete Benutzerdatensatz impliziert auch die Existenz und die Kapselung eines Home-Verzeichnisses. Das Benutzerkonto und Home-Verzeichnis werden zum gleichen Konzept.

Die folgenden zugrundeliegenden Speichermechanismen werden unterstützt:

    • Ein individuelles LUKS2-verschlüsseltes Loopback-Gerät für jeden Benutzer, gespeichert in /home/*.home. Bei der Anmeldung wird das in dieser Datei befindliche Dateisystem eingehängt, nachdem der LUKS2-verschlüssselte Datenträger angehängt wurde. Das Benutzerpasswort ist identisch zur Verschlüsselungspassphrase des LUKS2-Datenträgers. Daher ist ohne vorherige Benutzerauthentifizierung kein Datenzugriff möglich, selbst für den Systemadministrator. Dieser Speichermechanismus stellt die stärkste Datensicherheit bereit und wird daher empfohlen.

    • Ähnlich aber das mit LUKS2 verschlüsselte Dateisystem befindet sich auf regulären Blockgeräten, wie einem USB-Speichermedium. In diesem Modus können Home-Verzeichnisse samt sämtlichen Metadaten bequem zwischen Maschinen einfach durch Einstecken des USB-Mediums in verschiedene Systeme zu verschiedenen Zeitpunkten migriert werden.

    • Ein mit »fscrypt« verschlüsseltes Verzeichnis auf Dateisystemen, die dies unterstützen (derzeit ist dies primär »ext4«), befindlich in /home/*.homedir. Dieser Mechanismus stellt auch Verschlüsselung bereit, allerdings deutlich schwächere als LUKS2, und der Großteil der Dateisystemmetadaten ist nicht geschützt. Derzeit erlaubt dies nach der Erstellung des Home-Verzeichnisses auch keine Änderung des Benutzerpasswortes.

    • Ein »btrfs«-Teildatenträger für jeden Benutzer, auch in /home/*.homedir befindlich. Dies stellt keine Verschlüsselung, aber gute Kontingent-Unterstützung bereit.

    • Ein reguläres Verzeichnis für jeden Benutzer, auch unter /home/*.homedir befindlich. Dies stellt keine Verschlüsselung bereit, ist aber eine auf allen Maschinen verfügbare geeignete Rückfalloption, selbst wenn die Unterstützung für LUKS2, »fscrypt« oder »btrfs« nicht verfügbar ist.

    • Eine individuelle Windows-Dateifreigabe (CIFS) für jeden Benutzer.

Beachten Sie dass systemd-homed.service und homectl keine mit useradd(8) und ähnlichen Werkzeugen erstellten »klassischen« UNIX-Benutzerkonten verwalten. Insbesondere ist diese Funktionalität nicht zur Verwaltung von Systembenutzern (d.h. Benutzern mit UID unterhalb 1000) geeignet und ausschließlich für reguläre (»menschliche«) Benutzer gedacht.

Beachten Sie, dass mittels systemd-homed.service verwaltete Benutzer/Home-Verzeichnisse nicht in /etc/passwd und ähnlichen Dateien auftauchen, sie werden mittels Glibc NSS während der Laufzeit künstlich erzeugt. Sie sind daher mit dem Werkzeug getent(1) auflösbar und können hierdurch aufgezählt werden.

Dieses Werkzeug hat eine direkte Schnittstelle zu systemd-homed.service und kann für das von ihm verwaltete Home-Verzeichnis bestimmte Befehle ausführen. Da jedes auf diese Weise verwaltete Home-Verzeichnis auch einen JSON-Benutzer- und -Gruppendatensatz definiert, können Home-Verzeichnisse auch mittels userdbctl(1) untersucht und aufgezählt werden.

Durch systemd-homed.service verwaltete Dienste sind normalerweise in einem von zwei Zuständen oder in einem Übergangszustand zwischen diesen: wenn »aktiv«, dann sind sie eingehängt und nicht gesperrt und das System und dessen Programme können darauf zugreifen; wenn »inaktiv«, dann sind sie nicht eingehängt und auf sie kann nicht zugegriffen werden. Die Aktivierung geschieht automatisch beim Anmelden des Benutzers und kann normalerweise nur durch Eingabe eines Passworts (oder eines anderen Authentifizierungsmerkmals) abgeschlossen werden. Deaktivierung passiert nach der vollständigen Abmeldung des Benutzers. Ein Home-Verzeichnis bleibt aktiv, solange der Benutzer mindestens einmal angemeldet ist, d.h. dass er mindestens eine Anmeldesitzung hat. Wenn sich der Benutzer ein zweites Mal simultan anmeldet, bleibt das Home-Verzeichnis aktiv. Es wird erst deaktiviert, nachdem die letzte Sitzung des Benutzers endete.

OPTIONEN

Die folgenden allgemeinen Optionen werden verarbeitet (weitere Optionen, die die verschiedenen Eigenschaften des durch systemd-homed.service verwalteten Benutzerdatensatzes beschreiben, sind weiter unten dokumentiert):

--identity=DATEI
    Liest den JSON-Datensatz des Benutzers aus der angegebenen Datei. Falls »-« übergeben wird, wird der Benutzerdatensatz aus der Standardeingabe gelesen. Das bereitgestellte JSON-Objekt muss der in JSON-Benutzerdatensätze[1] angegebenen Struktur folgen. Diese Option kann mit den nachfolgend beschriebenen Befehlen create und update zusammen verwandt werden, wodurch die Konfiguration des Benutzerdatensatzes direkt in JSON ermöglicht wird, statt die einzelnen Benutzerdatensatzeigenschaften einzeln zu setzen (siehe unten).

--json=FORMAT, -j
    Steuert, ob die Ausgabe im JSON-Format erfolgt, falls der Befehl inspect verwandt wird (siehe unten). Akzeptiert entweder »pretty«, »short« oder »off«. Falls »pretty«, werden Leerzeichen und Zeilenumbrüche in die Ausgabe eingefügt, um die JSON-Daten für menschliche Augen lesbarer darzustellen. Falls »short«, wird aller überflüssiger Leerraum entfernt. Falls »off« (die Vorgabe), wird die Benutzer-Information nicht im JSON-Format sondern in freundlicher, für Menschen gedachter Formatierung dargestellt. Die Option -j wählt beim interaktiven Betrieb »pretty« und andernfalls »short« aus.

--export-format=FORMAT, -E, -EE
    Wird dies zusammen mit dem Unterbefehl inspect im JSON-Modus (siehe oben) verwandt, kann dies zum Unterdrücken bestimmter Aspekte des JSON-Benutzerdatensatzes in der Ausgabe verwandt werden. Insbesondere falls das Format »stripped« verwandt wird, werden die Zusammenhalte- und Laufzeitfelder des Datensatzes entfernt. Falls das Format »minimal« verwandt wird, wird auch die kryptographische Signatur entfernt. Falls das Format »fully« verwandt wird, wird der komplette JSON-Datensatz angezeigt (dies ist die Vorgabe). Diese Option ist zum Kopieren eines bestehenden Benutzerdatensatzes auf ein anderes System nützlich, um dort einen ähnlichen Benutzer mit den gleichen Einstellungen zu erstellen. Insbesondere kann »homectl inspect -EE | ssh root@anderessystem homectl create -i-« als einfache Befehlszeile zur Replizierung eines Benutzers auf einen anderen Rechner verwandt werden. -E ist äquivalent zu -j --export-format=stripped, -EE zu -j --export-format=minimal. Beachten Sie, dass im Modus »stripped« erlangte Benutzerdatensätze beim Replizieren die ursprüngliche kryptographische Signatur beibehalten und daher nur verändert werden können, wenn der private Schlüssel für deren Aktualisierung auf der Zielmaschine verfügbar ist. Bei der Replizierung im Modus »minimal« wird während der Replizierung die Signatur entfernt und daher wird der Datensatz implizit mit dem Schlüssel der Zielmaschine signiert und kann dort aktualisiert werden, ohne dass ein privater Schlüssel repliziert werden muss.

-H, --host=
    Führt die Aktion aus der Ferne aus. Geben Sie den Rechnernamen oder einen Benutzernamen und Rechnernamen (getrennt durch »@«) an, zu dem verbunden werden soll. Dem Rechnernamen darf optional ein Port, auf dem SSH auf Anfragen wartet, getrennt durch »:« und dann ein Container auf dem angegebenen Host angehängt werden, womit direkt zu einem bestimmten Container auf dem angegebenen Rechner verbunden wird. Dies verwendet SSH, um mit der Maschinen-Verwalterinstanz auf dem Rechner in der Ferne zu kommunizieren. Container-Namen dürfen mit machinectl -H RECHNER aufgezählt werden. Stellen Sie IPv6-Adressen in Klammern.

-M, --machine=
    Führt die Aktion in einem lokalen Container aus. Geben Sie den Namen des Containers an, zu dem verbunden werden soll. Optional kann diesem ein Benutzername, abgetrennt durch ein »@«-Zeichen, als der verbunden werden soll, vorangestellt werden. Falls die besondere Zeichenkette ».host« anstelle des Container-Names verwandt wird, wird eine Verbindung zu dem lokalen System aufgebaut (das ist nützlich, um sich zu dem Benutzerbus eines bestimmten Benutzers zu verbinden: »--user --machine=lennart@.host«. Falls die »@«-Syntax nicht verwandt wird, wird die Verbindung als Benutzer »root« vorgenommen. Falls die »@«-Syntax verwandt wird, kann entweder die linke oder die rechte Seite fortgelassen werden (aber nicht beide). In diesem Fall wird der lokale Benutzername und ».host« angenommen.

--no-pager
    Leitet die Ausgabe nicht an ein Textanzeigeprogramm weiter.

--no-legend
    Gibt die Legende nicht aus, d.h. die Spaltenköpfe und die Fußzeile mit Hinweisen.

--no-ask-password
    Befragt den Benutzer nicht für Authentifizierung für privilegierte Aktionen.

-h, --help
    Zeigt einen kurzen Hilfetext an und beendet das Programm.

--version
    Zeigt eine kurze Versionszeichenkette an und beendet das Programm.

BENUTZERDATENSATZEIGENSCHAFTEN

Die folgenden Optionen steuern verschiedene Eigenschaften der Benutzerdatensätze/Home-Verzeichnisse, die systemd-homed.service verwaltet. Diese Schalter können zusammen mit den Befehlen create und update zur Konfiguration verschiedener Aspekte des Home-Verzeichnisses und des Benutzerkontos verwandt werden:

--real-name=NAME, -c NAME
    Der echte Name des Benutzers. Dies entspricht dem Feld GECOS in klassischen UNIX-NSS-Datensätzen.

--realm=BEREICH
    Der Bereich des Benutzers. Der Bereich ordnet einen Benutzer einer bestimmten Organisation oder Installation zu und erlaubt es, Benutzer gleichen Namens zu unterscheiden, die in verschiedenen Kontexten definiert sind. Der Bereich kann jede Zeichenkette sein, die auch als gültiger DNS-Domain-Name funktioniert und es wird empfohlen, den Domain-Namen der Organisation oder Installation für diesen Zweck zu verwenden, aber dies wird weder erzwungen noch ist es notwendig. Auf jedem System darf jeder Benutzername nur einmal vorkommen und falls ein Benutzer mit dem gleichen Namen und Bereich erkannt wird, wird angenommen, dass es sich um den gleichen Benutzer handelt, während Benutzer mit dem gleichen Namen, aber anderen Bereichen als verschiedene Benutzer betrachtet werden. Beachten Sie, dass dies bedeutet, dass zwei Benutzer, die den gleichen Namen verwenden, aber unterschiedliche Bereiche haben, nicht auf dem gleichen System erlaubt sind. Die Zuweisung eines Bereiches zu einem Benutzer ist optional.

--email-address=E-MAIL
    Akzeptiert eine dem Benutzer zugeordnete E-Mail-Adresse. Bei der Anmeldung wird die Umgebungsvariable $EMAIL aus diesem Wert initialisiert.

--location=TEXT
    Akzeptiert eine Ortsangabe für diesen Benutzer. Akzeptiert Freiformtext, der von geobasierten Anwendungen auswertbar sein kann, aber nicht muss. Beispiele: --location="Berlin, Deutschland" oder --location="Erdgeschoss, Raum 3a"

--icon-name=ICON
    Akzeptiert den Namen eines dem Benutzer zugeordneten Icon. Der Name folgt dem durch Icon-Benennungs-Spezifikation[2] definierten Schema.

--home-dir=PFAD, -dPFAD
    Akzeptiert einen Pfad, der als Home-Verzeichnis für den Benutzer verwandt werden soll. Beachten Sie, dass dies der Pfad ist, auf den das Home-Verzeichnis des Benutzers eingehängt ist, während der Benutzer angemeldet ist. Dies ist nicht der Ort, an dem die Daten des Benutzers tatsächlich gespeichert werden, siehe dafür --image-path=. Falls nicht angegeben, ist die Vorgabe /home/$USER.

--uid=UID
    Akzeptiert eine bevorzugte numerische UNIX-UID, die diesem Benutzer zugeordnet werden soll. Falls ein Benutzer mit einer bestimmten UID erstellt werden soll und diese bereits von einem anderen Benutzer auf dem lokalen System verwandt wird, dann wird die Erstellung des Home-Verzeichnisses abgelehnt. Beachten Sie, dass systemd-homed dem Benutzer eine andere UID auf Systemen zuweisen kann, auf denen ein bereits existierendes Home-Verzeichnis verwandt wird, das dort nicht erstellt wurde und wo dort die UID bereits von einem zweiten Benutzer verwandt wird. Die angegebene UID muss außerhalb des Bereichs für Systembenutzer sein. Es wird empfohlen, den Bereich 60001…60513 für diesen Zweck zu verwenden. Falls nicht angegeben, wird die UID automatisch ausgewählt. Wird bei der Anmeldung festgestellt, dass das Home-Verzeichnis einer anderen UID gehört, dann wird die Eigentümerschaft des Home-Verzeichnisses und allem darunter automatisch vor Abschluss der Anmeldung geändert.

    Beachten Sie, dass durch systemd-homed verwaltete Benutzer immer eine ihnen zugeordnete passende Gruppe mit dem gleichen Namen sowie eine auf die UID passende GID haben werden. Daher ist die separate Konfiguration der GID nicht erlaubt.

--member-of=GRUPPE, -G GRUPPE
    Akzeptiert eine Kommata-getrennte Liste von zusätzlichen UNIX-Gruppen, denen der Benutzer angehören soll. Beispiel: --member-of=wheel, um den Benutzer mit administrativen Privilegien auszustatten. Beachten Sie, dass systemd-homed keine Gruppen außerhalb der Gruppe, die auf den Benutzer (Name und numerische UID/GID) passt, verwaltet. Daher muss jede hier aufgeführte Gruppe unabhängig registriert werden, beispielsweise mit groupadd(8). Alle nicht existierende Gruppen werden ignoriert. Diese Option kann mehr als einmal angegeben werden, dann werden alle angegebenen Gruppen kombiniert. Falls der Benutzer derzeit Mitglied einer nicht aufgeführten Gruppe ist, dann wird der Benutzer von der Gruppe entfernt.

--skel=PFAD
    Akzeptiert einen Dateisystempfad zu einem Verzeichnis. Gibt das Verzeichnis mit dem Gerüst an, aus dem das Home-Verzeichnis initialisiert werden soll. Alle Dateien und Verzeichnisse in dem angegebenen Pfad werden in das neu erstellte Home-Verzeichnis kopiert. Falls nicht angegeben, ist die Vorgabe /etc/skel/.

--shell=SHELL
    Akzeptiert einen Dateisystempfad. Gibt das bei Terminal-Anmeldungen zu verwendende Shell-Programm an. Falls nicht angegeben, ist die Vorgabe /bin/bash.

--setenv=VARIABLE[=WERT]
    Akzeptiert eine Umgebungsvariablenzuweisung, die für alle Benutzerprozesse gesetzt werden soll. Kann mehrfach verwandt werden, um mehrere Umgebungsvariablen zu setzen. Wenn »=« und WERT nicht angegeben sind, wird der Wert der Variablen mit dem gleichen Namen in der Programmumgebung verwandt.

    Beachten Sie, dass eine Reihe von anderen Einstellungen auch zum Setzen von Umgebungsvariablen des Benutzers führen, einschließlich --email=, --timezone= und --language=.

--timezone=ZEITZONE
    Akzeptiert einen Zeitzonenortsnamen, der die Zeitzone für den angegebenen Benutzer setzt. Die Umgebungsvariable $TZ wird bei der Anmeldung aus diesem Wert initialisiert. Beispiel: --timezone=Europe/Amsterdam führt zu der Umgebungsvariablen »TZ=:Europe/Amsterdam«. (»:« wird bewusst als Teil der Zeitzonenangabe verwandt, siehe tzset(3).)

--language=SPRACHE
    Akzeptiert einen Kennzeichner, der die bevorzugte Sprache des Benutzers anzeigt. Die Umgebungsvariable $LANG wird bei der Anmeldung aus diesem Wert initialisiert und daher wird hier ein Wert akzeptiert, der für diese Umgebungsvariable geeignet ist, beispielsweise --language=de_DE.UTF8.

--ssh-authorized-keys=SCHLÜSSEL
    Akzeptiert entweder eine Zeile mit einem SSH-Autorisierungsschlüssel, der mit dem Benutzerdatensatz verbunden werden soll, oder ein »@«-Zeichen, gefolgt von einem Pfad zu einer Datei, aus der eine oder mehrere solcher Zeilen ausgelesen werden sollen. Auf diese Weise konfigurierte SSH-Schlüssel werden SSH zur Verfügung gestellt, um Zugriff auf dieses Home-Verzeichnis und diesen Benutzerdatensatz zu gewähren. Diese Option darf mehr als einmal angegeben werden, um mehrere SSH-Schlüssel zu konfigurieren.

--pkcs11-token-uri=URI
    Akzeptiert eine RFC-7512-PKCS#11-URI, die einen Sicherheits-Token referenziert (z.B. einen YubiKey oder eine PIV-SmartCard), der in der Lage sein soll, das Benutzerkonto zu entsperren. Die Sicherheits-Token-URI sollte einen Sicherheits-Token mit genau einem Paar aus X.509-Zertifikat und öffentlichem Schlüssel spezifizieren. Dann wird ein zufälliger geheimer Schlüssel erstellt, mit dem öffentlichen Schlüssel des X.509-Zertifikates verschlüsselt und als Teil des Benutzerdatensatzes gespeichert. Bei der Anmeldung wird er mit dem PKCS#11-Modul entschlüsselt und dann zum Entsperren des Kontos und der zugehörigen Ressourcen verwandt. Weiter unten wird beschrieben, wie die Authentifizierung mit einem Sicherheits-Token eingerichtet wird.

    Statt einer gültigen PKCS#11-URI kann die besondere Zeichenkette »list« und »auto« angegeben werden. Falls »list« übergeben ist, wird eine kurze Tabelle geeigneter, derzeit eingehängter PKCS#11-Hardware-Token zusammen mit ihren URIs angezeigt. Falls »auto« übergeben ist, wird automatisch ein geeignetes PKCS#11-Token ausgewählt (diese Aktion schlägt fehl, falls nicht genau ein geeignetes Hardware-Token ermittelt wird). Letztere Option ist als Abkürzung für den häufigsten Anwendungsfall nützlich, bei dem ein einzelnes PKCS#11-Hardware-Token eingesteckt ist.

    Beachten Sie, dass viele Hardware-Sicherheits-Token sowohl PKCS#11/PIV als auch FIDO2 mit der Erweiterung »hmac-secret« implementieren (beispielsweise die YubiKey-Serie), wie dies von der unten dargestellten Option --fido2-device= unterstützt wird. Beide Mechanismen sind ähnlich leistungsfähig, obwohl FIDO2 die modernere Technik ist. PKCS#11/PIV-Token haben den Vorteil, dass sie vor der Authentifizierung erkannt und daher dafür verwandt werden können, die Identität des Benutzer zur Anmeldung anzunehmen, was FIDO2 nicht ermöglicht. PKCS#11/PIV-Geräte benötigen im Allgemeinen eine Initialisierung (d.h. das Speichern eines privaten/öffentlichen Schlüsselpaars auf ihnen, siehe nachfolgendes Beispiel), bevor sie verwandt werden können; FIDO2-Sicherheits-Token benötigen dies im Allgemeinen nicht und funktionieren sofort.

--fido2-credential-algorithm=ZEICHENKETTE
    Gibt den bei der Erstellung von Zugangsberechtigungen zu verwendenen COSE-Algorithmus an. Der Vorgabewert ist »es256«. Unterstützte Werte sind »es256«, »s256« und »eddsa«.

    »es256« bezeichnet ECDSA über NIST P-256 mit SHA-256. »rs256« bezeichnet 2048-bit RSA mit PKCS#1.5-Auffüllung und SHA-256. »eddsa« bezeichnet EDDSA über Curve25519 mit SHA-512.

    Beachten Sie, dass Ihr Authentikator nicht alle Algorithmen unterstützen könnte.

--fido2-device=PFAD
    Akzeptiert einen Pfad zu einem Linux-»hidraw«-Gerät (z.B. /dev/hidraw1), der sich auf ein FIDO2-Sicherheits-Token bezieht, das die Erweiterung »hmac-secret« implementiert. Ein zufälliger Salt-Wert wird auf dem Rechner erstellt und an das FIDO2-Gerät übergeben, welches den HMAC-Hash mittels eines internen geheimen Schlüssel aus dem Salt berechnet. Das Ergebnis wird dann als Schlüssel zum Entsperren des Benutzerkontos verwandt. Der zufällige Salt wird im Benutzerdatensatz aufgenommen, so dass er wieder an den FIDO2-Token übergeben werden kann, wannimmer Authentifizierung benötigt wird.

    Statt eines einzelnen Pfades zu einem FIDO2-»hidraw«-Gerät kann die besondere Zeichenkette »list« und »auto« angegeben werden. Falls »list« übergeben ist, wird eine kurze Tabelle geeigneter erkannter FIDO2-Geräte angezeigt. Falls »auto« übergeben ist, wird automatisch ein geeignetes FIDO2-Token ausgewählt, falls genau ein geeignetes Hardware-Token ermittelt wird. Letztere Option ist als Abkürzung für den häufigsten Anwendungsfall nützlich, bei dem ein einzelnes FIDO2-Hardware-Token eingesteckt ist.

    Beachten Sie, dass FIDO2-Geräte, die für die Option geeignet sind, die Erweiterung »hmac-secret« implementieren müssen. Die meisten aktuellen Geräte (wie die YubiKey-5-Serie) machen dies. Falls die Erweiterung nicht implementiert ist, kann das Gerät nicht zum Entsperren eines Home-Verzeichnisses verwandt werden.

    Das FIDO2-Gerät kann nachfolgend durch Setzen des Gerätepfades auf die leere Zeichenkette entfernt werden (z.B. homectl update $USER --fido2-device="").

    Beachten Sie, dass viele Hardware-Sicherheits-Token sowohl FIDO2 als auch PKCS#11/PIV implementieren (und daher mit entweder --fido2-device= oder --pkcs11-token-uri= verwandt werden können). Eine Diskussion finden Sie weiter oben.

--fido2-with-client-pin=LOGISCH
    Steuert beim Registrieren eines FIDO2-Sicherheits-Tokens ob der Benutzer beim Entsperren des Kontos eine PIN eingeben muss (die FIDO2-Funktionalität »clientPin«). Standardmäßig »yes«. (Beachten Sie: Diese Einstellung ist wirkungslos, falls der Sicherheits-Token die Funktionalität »clientPin« überhaupt nicht unterstützt oder das Aktivieren oder Deaktivieren nicht erlaubt.)

--fido2-with-user-presence=LOGISCH
    Steuert beim Registrieren eines FIDO2-Sicherheits-Tokens ob der Benutzer beim Entsperren des Kontos seine Anwesenheit nachweisen muss (den Token berühren, die FIDO2-Funktionalität »up«). Standardmäßig »yes«. (Beachten Sie: Diese Einstellung ist wirkungslos, falls der Sicherheits-Token die Funktionalität »up« überhaupt nicht unterstützt oder das Aktivieren oder Deaktivieren nicht erlaubt.)

--fido2-with-user-verification=LOGISCH
    Steuert beim Registrieren eines FIDO2-Sicherheits-Tokens ob Benutzerüberprüfung beim Entsperren des Kontos verlangt wird (die FIDO2-Funktionalität »uv«). Standardmäßig »no«. (Beachten Sie: Diese Einstellung ist wirkungslos, falls der Sicherheits-Token die Funktionalität »uv« überhaupt nicht unterstützt oder das Aktivieren oder Deaktivieren nicht erlaubt.)

--recovery-key=LOGISCH
    Akzeptiert ein logisches Argument. Falls aktiviert, wird ein Wiederherstellungsschlüssel für dieses Konto konfiguriert. Ein Wiederherstellungsschlüssel ist ein Computer-erstellter Zugangsschlüssel, der dazu verwandt werden kann, wieder Zugriff auf ein Konto zu erlangen, falls das Passwort vergessen oder der Authentifizierungs-Token verloren wurde. Der Schlüssel wird erstellt und am Bildschirm dargestellt und sollte ausgedruckt oder anderweitig an einen sicheren Ort transportiert werden. Ein Wiederherstellungsschlüssel kann anstatt eines regulären Passworts eingegeben werden, um das Konto zu entsperren.

--locked=LOGISCH
    Akzeptiert ein logisches Argument. Gibt an, ob dieses Benutzerkonto gesperrt sein soll. Falls wahr, werden Anmeldungen an diesem Konto verhindert, falls falsch (die Vorgabe), werden sie erlaubt (natürlich nur, falls die Autorisierung auch erfolgreich ist).

--not-before=ZEITSTEMPEL, --not-after=ZEITSTEMPEL
    Diese Optionen akzeptieren eine Zeitstempelzeichenkette in dem in systemd.time(7) dokumentierten Format und konfigurieren Zeitpunkte, bevor denen oder nach denen Anmeldungen an diesem Konto nicht erlaubt sind.

--rate-limit-interval=SEK, --rate-limit-burst=ANZAHL
    Konfiguriert für diesen Benutzer eine Ratenbegrenzung für Authentisierungsversuche. Falls der Benutzer versucht, sich auf dem bestimmten System in dem angegebenen Zeitinvervall häufiger als die angegebenen Anzahl zu authentifizieren, wird die Anmeldung abgelehnt, bis das Zeitintervall abgelaufen ist. Die Vorgabe ist 10 mal pro eine Minute.

--password-hint=TEXT
    Akzeptiert einen Passworttipp, der zusammen mit dem Benutzerdatensatz gespeichert wird. Diese Zeichenkette ist so gespeichert, dass nur privilegierte Benutzer und der Benutzer selbst darauf zugreifen können. Andere Benutzer können sie nicht abfragen. Beispiel: --password-hint="Der Name meines ersten Haustieres".

--enforce-password-policy=LOGISCH, -P
    Akzeptiert ein logisches Argument. Konfiguriert, ob die Passwortrichtlinie des Systems in Hinblick auf Qualität und Stärke des ausgewählten Passworts für diesen Benutzer erzwungen werden soll. Standardmäßig ein. -P ist die Kurzform von ---enforce-password-policy=no.

--password-change-now=LOGISCH
    Akzeptiert ein logisches Argument. Falls wahr, wird der Benutzer bei der nächsten Anmeldung gebeten, sein Passwort zu ändern.

--password-change-min=ZEIT, --password-change-max=ZEIT, --password-change-warn=ZEIT, --password-change-inactive=ZEIT
    Jede dieser Optionen akzeptiert eine Zeitdauerspezifikation als Argument (in dem in systemd.time(7) definierten Format) und konfiguriert verschiedene Aspekte der Passwortablaufrichtlinie des Benutzers. Insbesondere konfiguriert --password-change-min=, wieviel Zeit vergehen muss, nachdem das Passwort geändert wurde, bevor es erneut geändert werden darf. Falls der Benutzer versucht, sein Passwort vor Ablauf dieser Zeit zu ändern, wird dieser Versuch abgelehnt. --password-change-max= konfiguriert, wie schnell nach der Änderung des Passworts dieses abläuft und wieder geändert werden muss. Nach dieser Zeit kann eine Anmeldung nur fortfahren, nachdem das Passwort geändert worden ist. --password-change-warn= konfiguriert, wie viel früher als die mit --password-change-max= konfigurierte Zeit der Benutzer beim Anmelden gewarnt wird, sein Passwort zu ändern, da es bald ablaufen wird. Schließlich konfiguriert --password-change-inactive= die Zeit, die ablaufen muss, nachdem das Passwort abgelaufen ist, bis der Benutzer sich nicht mehr anmelden oder sein Passwort ändern darf. Beachten Sie, dass diese Optionen nur die Passwortauthentifizierung und nicht andere Formen der Authentifizierungen, wie beispielsweise PKCS#11-basierte Authentifizierung mit Sicherheitstoken, betreffen.

--disk-size=BYTE
    Akzeptiert entweder eine Größe in Byte als Argument (möglicherweise einschließlich der gewöhnlichen Endungen K, M, G … für 1024-basierte Werte), einen Prozentwert oder die besonderen Zeichenketten »min« oder »max« und konfiguriert den dem Benutzer zuzuweisenden Plattenplatz. Falls ein Prozentwert angegeben ist (d.h. dem Argument wird »%« angehängt), wird dieser relativ zum verfügbaren Plattenplatz des zugrundeliegenden Dateisystems betrachtet. Falls als »min« angegeben, dann weist es den minimalen Plattenplatz zu, der durch die Randbedingungen des zugrundeliegenden Dateisystems und anderer Beschränkungen erlaubt ist. Falls als »max« angegeben, weist es den maximal verfügbaren Plattenplatz zu. Falls das LUKS2-Backend verwandt wird, konfiguriert dies die Größe der Loopback-Datei und des darin enthaltenen Dateisystems. Für andere Speicher-Backends konfiguriert dies Plattenkontingente mittels der nativen Kontingent-Logik des Dateisystems, falls verfügbar. Falls nicht angegeben, standardmäßig 85% des verfügbaren Plattenplatzes für das LUKS2-Backend und auf keine Kontingente für die anderen.

--access-mode=MODUS
    Akzeptiert einen oktal geschriebenen UNIX-Zugriffsmodus. Konfiguriert den Zugriffsmodus des Home-Verzeichnisses selbst. Beachten Sie, dass dies nur beim erstmaligen Anlegen des Home-Verzeichnisses verwandt wird und der Benutzer dieses nachträglich jederzeit ändern kann. Beispiel: --access-mode=0700

--umask=MASKE
    Akzeptiert die Zugriffsmodusmaske (in oktaler Syntax), die auf neu erstellte Dateien und Verzeichnisse des Benutzers angewandt werden soll (die »umask«). Falls dies gesetzt ist, steuert dies die anfängliche Umask, die für alle Anmeldesitzungen des Benutzers verwandt wird und die möglicherweise die Vorgaben des Systems außer Kraft setzt.

--nice=NICE
    Akzeptiert die numerische Zeitplanungspriorität (»Nice-Stufe«), die auf Prozesse des Benutzers zum Anmeldezeitpunkt angewandt werden soll. Akzeptiert einen numerischen Wert im Bereich -20 (höchste Priorität) bis 19 (niedrigste Priorität).

--rlimit=BEGRENZUNG=WERT[:WERT]
    Erlaubt die Konfiguration von Ressourcenbeschränkungen für Prozesse dieses Benutzers, siehe getrlimit(2) für Details. Akzeptiert einen Ressourcenbeschränkungsnamen (z.B. »LIMIT_NOFILE«), gefolgt von einem Gleichheitszeichen, gefolgt von einer numerischen Beschränkung. Optional kann ein zweiter, durch einen Doppelpunkt abgetrennter numerischer Beschränkungswert angegeben werden. Falls zwei angegeben sind, beziehen sich diese auf die weichen bzw. harten Beschränkungen. Falls nur eine Beschränkung angegeben ist, setzt diese Einstellung beide Beschränkungen auf einmal.

--tasks-max=PROZESSE
    Akzeptiert eine von 0 verschiedene Ganzzahl als Argument. Konfiguriert die maximale Anzahl an Threads (hierbei ist jeder Prozess mindestens ein Thread), die der Benutzer zu einem Zeitpunkt haben darf. Diese Begrenzung gilt für alle Prozesse, die mit Fork von der Benutzersitzung abstammen, selbst wenn sie die Benutzeridentität mit su(1) oder ähnlichen Werkzeugen ändern. Verwenden Sie --rlimit=LIMIT_NPROC=, um eine Beschränkung für die Anzahl der tatsächlich unter der UID des Benutzers laufenden Prozesse zu setzen, wobei damit die Kindprozesse, die ihre Identität geändert haben könnten, ausgeschlossen werden. Dies steuert die Einstellung TasksMax= der benutzerbezogenen Systemd-Scheiben-Unit user-$UID.slice. Siehe systemd.resource-control(5) für weitere Details.

--memory-high=BYTE, --memory-max=BYTE
    Setzt eine Begrenzung für den Speicher, den ein Benutzer zu einem Zeitpunkt auf einem System verwenden darf, in Byte (die gewöhnlichen Endungen K, M, G … zur Basis 1024 werden unterstützt). Dies schließt sämtlichen Speicher ein, der vom Benutzer verwandt wird, sowie den aller Prozesse, die unter den Benutzerberechtigungen dieses Benutzer mit Fork gestartet wurden. Dies steuert die Einstellungen MemoryHigh= und MemoryMax= der benutzerbezogenen Systemd-Scheiben-Unit user-$UID.slice. Siehe systemd.resource-control(5) für weitere Details.

--cpu-weight=GEWICHT, --io-weight=GEWICHT
    Setzt CPU- und E/A-Scheduling-Gewichte für die Prozesse des Benutzers, einschließlich der mit Fork gestarteten Prozesse des Benutzers, die die Benutzerberechtigungen geändert haben. Akzeptiert einen numerischen Wert im Bereich 1…10000. Dies steuert die Einstellungen CPUWeight= und IOWeight= der benutzerbezogenen Systemd-Scheiben-Unit user-$UID.slice. Siehe systemd.resource-control(5) für weitere Details.

--storage=SPEICHER
    Wählt den für dieses Home-Verzeichnis zu verwendenden Speichermechanismus aus. Akzeptiert entweder »luks«, »fscrypt«, »directory«, »subvolume« oder »cifs«. Details über diese Mechanismen sind weiter oben beschrieben. Falls ein neues Home-Verzeichnis erstellt wird und der Speichertyp nicht besonders angegeben ist, dann definiert homed.conf(5), welcher Speichermechanismus standardmäßig zu benutzen ist.

--image-path=PFAD
    Akzeptiert ein Dateisystempfad. Konfiguriert, wo das Home-Verzeichnis des Benutzers abgelegt werden soll. Falls LUKS2-Speicherung gewählt wird, bezieht sich dies auf den Pfad zur Loopback-Datei, andernfalls auf den Pfad zum Home-Verzeichnis (das sich in /home/ oder einem anderweitig zugreifbaren Dateisystem befinden kann). Falls nicht angegeben, ist die Vorgabe /home/$USER.home beim Einsatz des LUKS-Speichermechanismus und /home/$USER.homedir für alle anderen Speichermechanismen. Für den Speichermechanisums »cifs« ist er nicht definiert. Um den LUKS2-Speichermechanismus auf einem regulären Blockgerät zu verwenden (beispielsweise einem USB-Stick), übergeben Sie hier den Pfad zu dem Blockgerät. Es ist nicht erlaubt, hier den Pfad zu einem Verzeichnis anzugeben, wenn ein LUKS2-Speicher verwandt wird. Entsprechend ist die Angabe zu einer normalen Datei oder einem Geräteknoten nicht erlaubt, falls eines der anderen Speicher-Backends verwandt wird.

--drop-caches=LOGISCH
    Schreibt beim Abmelden automatisch die Betriebssystem-Dateizwischenspeicher raus. Dies ist in Kombination mit dem fscrypt-Speicher-Backend nützlich, um sicherzustellen, dass das Betriebssystem nach dem Abmelden keine entschlüsselten Versionen der Dateien und Verzeichnisse im Speicher (und zugreifbar) behält. Diese Option wird auch auf anderen Backends unterstützt, sollte dort aber keinen Vorteil bringen. Standardmäßig »off«, außer falls das ausgewählte Speicher-Backend fscrypt ist, wo es standardmäßig eingeschaltet ist. Beachten Sie, dass das Rausschreiben von Betriebssystemzwischenspeichern die Leistung des Betriebssystems kurz nach dem Abmelden negativ beeinflusst.

--fs-type=TYP
    Wird der LUKS2-Speichermechanismus verwandt, konfiguriert dies den Dateisystemtyp, der im Home-Verzeichnis des LUKS2-Containers verwandt werden soll. Entweder »btrfs«, »ext4« oder »xfs«. Falls nicht angegeben, definiert homed.conf(5), welcher Dateisystemtyp standardmäßig zu benutzen ist. Beachten Sie, dass der Einsatz von »xfs« nicht empfohlen wird, da dessen Unterstützung für die Größenveränderung des Dateisystems zu eingeschränkt ist.

--luks-discard=LOGISCH
    Wird der LUKS2-Speichermechanismus verwandt, konfiguriert dies, ob die Funktionalität »discard« des Dateisystems aktiviert wird. Falls aktiviert, wird das Dateisystem, welches sich innerhalb des LUKS2-Datenträgers befindet, Informationen über leere Blöcke an das draunterliegende LUKS2 und das Loopback-Gerät melden, um sicherzustellen, dass leerer Platz im Home-Verzeichnis wieder an das zugrundeliegende Dateisystem unterhalb des LUK2-Laufwerks zurückgegeben wird, wodurch eine »spärliche« Loopback-Datei erhalten wird. Diese Option ist größtenteils standarmäßig aus, da dieses ermöglicht, mehr Platz als vorhanden in Home-Verzeichnissen zu übergeben, wodurch E/A-Fehler resultieren, falls das zugrundeliegende Dateisystem voll wird während das obere Dateisystem einen weiteren Block belegen möchte. Mit solchen E/A-Fehlern können im Allgemeinen weder das Dateisystem noch die Anwendungen gut umgehen. Wird der LUKS2-Speichermechanismus auf einem regulären Blockgerät (anstatt auf einer Loopback-Datei) verwandt, dann ist die »discard«-Logik standardmäßig an.

--luks-offline-discard=LOGISCH
    Steuert ähnlich zu --luks-discard= das Abschneiden des Dateisystems. Während allerdings --luks-discard= steuert, was passiert, wenn das Home-Verzeichnis aktiv ist, steuert --luks-offline-discard=, was passiert, wenn es inaktiv wird, d.h. ob der Speicher abgeschnitten/zugewiesen werden soll, wenn das Home-Verzeichnis deaktiviert wird. Diese Option ist standardmäßig eingeschaltet, um sicherzustellen, dass der Speicherplatz minimiert ist, wenn der Benutzer nicht angemeldet ist.

--luks-extra-mount-options=OPTIONEN
    Akzeptiert eine Zeichenkette, die zusätzliche Einhängeoptionen enthält, die beim Einhängen des LUKS-Datenträgers verwandt werden sollen. Falls angegeben, wird diese Zeichenkette an die vorgegebenen, eingebauten Einhängeoptionen angehängt.

--luks-cipher=CHIFFRE, --luks-cipher-mode=MODUS, --luks-volume-key-size=BYTE, --luks-pbkdf-type=TYP, --luks-pbkdf-hash-algorithm=ALGORITHMUS, --luks-pbkdf-time-cost=SEKUNDEN, --luks-pbkdf-memory-cost=BYTE, --luks-pbkdf-parallel-threads=THREADS, --luks-sector-size=BYTE
    Konfiguriert verschiedene kryptographische Parameter für den LUKS2-Speichermechanismus. Siehe cryptsetup(8) für Details über die einzelnen Attribute.

    Beachten Sie, dass homectl wie /proc/crypto die Schlüsselgröße in Byte verwendet, aber cryptsetup(8) Bit verwendet.

--auto-resize-mode=
    Konfiguriert, ob das zugrundeliegende Dateisystem beim An- und Abmelden automatisch vergrößert und/oder verkleinert werden soll. Akzeptiert eine der Zeichenketten »off«, »grow« und »shrink-and-grow«. Wird derzeit nur beim LUKS2-Backend angewandt und falls das Btrfs-Dateisystem innerhalb verwandt wird (da nur dann das online-vergrößern/verkleinern des Dateisystems unterstützt wird). Standardmäßig »shrink-and-grow«, falls LUKS2/btrfs verwandt wird, andernfalls »off«. Falls auf »off« gesetzt, erfolgt kein automatisches verkleinern/vergrößern während des An- und Abmeldens. Falls auf »grow« gesetzt, wird der Home-Bereich auf die mittels --disk-size= konfigurierte Größe vergrößert, falls er derzeit kleiner sein sollte. Falls er bereits auf die konfigurierte Größe passt oder größer ist, erfolgt keine Aktion. Falls auf »shrink-and-grow« gesetzt, wird der Home-Bereich beim Abmelden auch auf die minimale Größe verkleinert, die der verwandte Plattenplatz und die Dateisystembeschränkungen erlauben. Dieser Modus stellt daher sicher, dass der Home-Bereich während der Aktivierung auf die konfigurierte Größe vergrößert wird, aber im deaktivierten Zustand nur den minimal-möglichen Platz belegt. Beachten Sie, dass die Verkleinerungsaktion nicht stattfindet, falls das System irregulär ausgeschaltet wird oder sich der Benutzer anderweitig nicht korrekt abmeldet und sich der Benutzer erneut an- und wieder abmelden muss, bevor diese Aktion erneut ausgeführt wird.

--rebalance-weight=
    Konfiguriert den Gewichtungsparameter für die Neuauswuchtungslogik für freien Plattenplatz. Wird derzeit nur beim LUKS2-Backend angewandt (da für das LUS2-Backend der Plattenplatz aus einem benutzerbezogenen Loopback-Dateisystem zugewiesen wird, statt sofort aus einem gemeinsamen Fundus, wie dies die anderen Backends machen). In regelmäßigen Abständen wird freier Plattenplatz in den aktiven Home-Bereichen und ihren zugrundeligenden Speichern neu zwischen ihnen verteilt, wobei der hier konfigurierte Gewichtungsparameter berücksichtigt wird. Erwartet eine Ganzzahl im Bereich 1…10000 oder die besondere Zeichenkette »off«. Falls nicht angegeben, ist die Vorgabe 100. Die Gewichtung wird verwandt, um den Home-Bereichen verfügbar gemachten freien Platz zu skalieren: ein Home-Bereich mit einer Gewichtung 200 wird doppelt so viel freien Platz erhalten wie einer mit einer Gewichtung von 100; ein Home-Bereich mit einer Gewichtung von 50 wird die Hälfte davon bekommen. Dem zugrundeliegende Dateisystem wird Platz für eine Gewichtung von 20 zugewiesen werden. Falls auf »off« gesetzt, wird keine automatische Verteilung von freiem Platz für diesen Home-Bereich durchgeführt. Beachten Sie, dass die explizite Größenveränderung des Home-Bereichs (mit homectl resize, siehe unten) implizit die automatische Auswuchtung ausschaltet. Um die automatische Auswuchtung wieder zu aktivieren, verwenden Sie --rebalance-weight= mit einem leeren Parameter.

--nosuid=LOGISCH, --nodev=LOGISCH, --noexec=LOGISCH
    Konfiguriert die Einhängeoptionen »nosuid«, »nodev« und »noexec« für Home-Verzeichnisse. Standardmäßig sind »nodev« und »nosuid« eingeschaltet, während »noexec« ausgeschaltet ist. Für Details über diese Einhängeoptionen siehe mount(8).

--cifs-domain=DOMÄNE, --cifs-user-name=BENUTZER, --cifs-service=DIENST, --cifs-extra-mount-options=OPTIONEN
    Konfiguriert die »Windows File Sharing«- (CIFS-)Domäne und Benutzer, die diesem Home-Verzeichnis/Benutzerkonto zugeordneten werden sollen, sowie die Dateifreigabe (der »Dienst«), die als Verzeichnis eingehängt werden soll. Letzteres wird verwandt, wenn »cifs«-Speicher ausgewählt wird. Die Dateifreigabe sollte im Format »//Rechner/Freigabe/Verzeichnis/… angegeben werden. Der Verzeichnis-Anteil ist optional – falls er nicht angegeben ist, wird das Home-Verzeichnis auf der obersten Verzeichnisebene der Freigabe abgelegt. Die Einstellung --cifs-extra-mount-options= ermöglicht die Angabe zusätzlicher Einhängeoptionen beim Einhängen der Freigabe, siehe mount.cifs(8) für Details.

--stop-delay=SEK
    Konfiguriert die Zeit, die der benutzerbezogene Diensteverwalter weiterlaufen soll, nachdem alle Sitzungen des Benutzers beendet wurden. Die Vorgabe wird in logind.conf(5) konfiguriert (für Home-Verzeichnisse auf Wechselmedien mit LUKS2-Speichermechanismen ist die Vorgabe allerdings 0). Eine längere Zeit stellt sicher, dass schnelle, wiederholte Anmeldungen effizienter erfolgen, da der Diensteverwalter des Benutzer nicht jedes Mal gestartet werden muss.

--kill-processes=LOGISCH
    Konfiguriert, ob beim Abmelden des Benutzers alle seine Prozesse getötet werden sollen. Die Vorgabe wird in logind.conf(5) konfiguriert.

--auto-login=LOGISCH
    Akzeptiert ein logisches Argument. Konfiguriert, ob die graphische Benutzerschnittstelle des Systems diesen Benutzer, falls möglich, automatisch anmelden soll. Standardmäßig aus. Falls mehr oder weniger als ein Benutzer auf diese Art markiert sind, dann ist die automatische Anmeldung deaktiviert.

BEFEHLE

Die folgenden Befehle werden verstanden:

list
    Listet alle Home-Verzeichnisse (zusammen mit knappen Details) auf, die derzeit von systemd-homed.service verwaltet werden. Dieser Befehl wird auch ausgeführt, falls kein Befehl auf der Befehlszeile angegeben ist. (Beachten Sie, dass die Liste der von diesem Befehl angezeigten Benutzer nicht die von anderen Untersystemen verwalteten Benutzer einschließt, wie beispielsweise Systembenutzer oder Benutzer, die in /etc/passwd aufgeführt sind.)

activate BENUTZER [BENUTZER…]
    Aktiviert eines oder mehrere Home-Verzeichnisse. Das Home-Verzeichnis jedes aufgeführten Benutzers wird aktiviert und unter seinem Einhängepunkt (normalerweise /home/$USER) verfügbar gemacht. Beachten Sie, dass alle auf diese Art aktivierten Home-Verzeichnisse solange verfügbar bleiben, bis sie explizit deaktiviert werden (mit deactivate, siehe unten) oder der Benutzer sich anmeldet und wieder abmeldet und es daher aufgrund der Deaktivieren-beim-Abmelden-Logik deaktiviert wird.

    Die Aktivierung eines Home-Verzeichnisses umfasst verschiedene Aktionen, die abhängig vom ausgewählten Speichermechanismus sind. Falls der LUKS2-Mechanismus verwandt wird, umfasst dies Folgendes: Abfragen des Benutzers nach einem Passwort, Einrichten des Loopback-Gerätes, Überprüfen und Aktivieren des LUKS2-Datenträgers, Überprüfen des Dateisystems, Einhängen des Dateisystems und möglicherweise Ändern der Eigentümerschaft der enthaltenen Dateien, um die UID/GID zu korrigieren.

deactivate BENUTZER [BENUTZER…]
    Deaktiviert eines oder mehrere Home-Verzeichnisse. Dies macht die Wirkung von activate rückgängig.

inspect BENUTZER [BENUTZER…]
    Zeigt verschiedene Details über das angegebene Home-Verzeichnis. Dies zeigt verschiedene Informationen über das Home-Verzeichnis und sein Benutzerkonto, einschließlich Laufzeitdaten wie den aktuellen Zustand, den Plattenverbrauch und Ähnlichem. Kombinieren Sie dies mit --json=, um stattdessen den detaillierten JSON-Benutzerdatensatz anzuzeigen, möglicherweise kombiniert mit --export-format=, um bestimmte Aspekte der Ausgabe zu unterdrücken.

authenticate BENUTZER [BENUTZER…]
    Überprüft die Authentifizierungs-Anmeldedaten eines Home-Verzeichnisses. Dies fragt beim Aufrufenden nach einem Passwort (oder Ähnlichem) und überprüft, ob dieses das Home-Verzeichnis korrekt entsperrt. Dies belässt das Home-Verzeichnis in dem aktuellen Zustand, d.h. es belässt das Home-Verzeichnis im inaktiven Zustand, falls es vorher inaktiv war, und im aktiven Zustand, falls es vorher aktiv war.

create BENUTZER, create --identity=PFAD [BENUTZER]
    Erstellt ein neues Home-Verzeichnis/Benutzerkonto mit dem angegebenen Namen. Verwenden Sie die verschiedenen Optionen für Benutzerdatensatzeigenschaften (wie oben beschrieben), um die verschiedenen Aspekte des Home-Verzeichnisses und seines Benutzerkontos zu steuern.

    Der angegebene Name sollte der in Benutzer-/Gruppen-Namensyntax[3] beschriebenen Namenssyntax folgen.

remove BENUTZER
    Entfernt ein Home-Verzeichnis/Benutzerkonto. Dies entfernt sowohl den Benutzerdatensatz des Home-Verzeichnisses als auch das Home-Verzeichnis selbst und löscht alle Dateien und Verzeichnisse, die dem Benutzer gehören.

update BENUTZER, update --identity=PFAD [BENUTZER]
    Aktualisiert ein Home-Verzeichnis/Benutzerkonto. Verwenden Sie verschiedene Optionen für Benutzerdatensatzeigenschaften (wie oben beschrieben), um Änderungen am Konto vorzunehmen, oder stellen Sie alternativ einen vollständigen, aktualisierten JSON-Benutzerdatensatz mit der Option --identity= bereit.

    Beachten Sie, dass Änderungen an Benutzerdatensätzen, die nicht mit dem lokal verfügbaren privaten Schlüssel signiert sind, nicht erlaubt sind, außer --identity= wird mit einem Benutzerdatensatz verwandt, der bereits korrekt durch einen anerkannten privaten Schlüssel signiert ist.

passwd BENUTZER
    Ändert das Passwort des angegebenen Home-Verzeichnisses/Benutzerkontos.

resize BENUTZER BYTE
    Ändert den Plattenplatz, der dem angegebenen Home-Verzeichnis zugeordnet ist. Falls der LUKS2-Speichermechanismus verwandt wird, wird die Größe der Loopback-Datei und des darin enthaltenen Dateisystems automatisch geändert. Beachten Sie, dass es notwendig ist, das Home-Verzeichnis zu deaktivieren (d.h. der Benutzer muss sich abmelden), falls das Dateisystem »ext4« innerhalb des LUKS2-Datenträgers verwandt wird und die Größe verringert wird. Vergrößern kann erfolgen, während das Home-Verzeichnis aktiv ist. Falls »xfs« innerhalb des LUKS2-Datenträgers verwandt wird, kann das Home-Verzeichnis überhaupt nicht verkleinert werden. Bei allen drei Dateisystemen (»ext4«, »xfs« und »btrfs«) kann das Home-Verzeichnis vergrößert werden, während der Benutzer angemeldet ist, bei »btrfs« kann es auch verkleinert werden, während der Benutzer angemeldet ist. Falls die Speichermechanismen »subvolume«, »directory« oder »fscrypt« verwandt werden, berücksichtigt die Größenänderung auch Dateisystemkontingente. Der Größenparameter kann die normalen Endungen B, K, M, G, T (zur Basis 1024) verwenden. Die besonderen Zeichenketten »min« und »max« können an Stelle eines numerischen Größenwertes verwandt weden, um den für den Home-Bereich zugewiesenen Plattenplatz zu minimieren oder zu maximieren, wobei die Randbedingungen des Dateisystems, der Plattenverwendung innerhalb des Home-Bereichs und des zugrundeligenden Speichersystems berücksichtigt werden.

lock BENUTZER
    Suspendiert temporär den Zugriff auf das Home-Verzeichnis des Benutzers und entfernt alle zugehörigen kryptographischen Schlüssel aus dem Speicher. Jeder Zugriffsversuch auf das Home-Verzeichnis wird hängen, bis das Home-Verzeichnis wieder entsperrt (d.h. reauthentifiziert) wird. Diese Funktionalität ist primär für den Einsatz bei der Systemsuspendierung gedacht, um sicherzustellen, dass auf die Benutzerdaten nicht mehr zugegriffen werden kann, bis der Benutzer sich nach dem Wiederaufwachen erneut authentifiziert hat. Diese Aktion ist nur für Home-Verzeichnisse definiert, die den LUKS2-Speichermechanismus verwenden.

unlock BENUTZER
    Nimmt den Zugriff auf das Home-Verzeichnis des Benutzers wieder auf; macht damit die Wirkung von lock (siehe oben) rückgängig. Hierfür muss sich der Benutzer authentifizieren, da die kryptographischen Schlüssel, die für den Zugriff auf das Home-Verzeichnis benötigt werden, erneut erlangt werden müssen.

lock-all
    Führt den Befehl lock auf allen geeigneten Home-Verzeichnissen auf einmal aus. Diese Aktion wird im Allgemeinen bei der Systemsuspendierung ausgeführt (d.h. durch systemctl suspend und zugehörige Befehle), um sicherzustellen, dass die kryptographischen Schlüssel für den Zugriff auf die Home-Verzeichnisse aus dem Speicher entfernt werden.

deactivate-all
    Führt den Befehl deactivate auf allen aktiven Home-Verzeichnissen auf einmal aus. Diese Aktion wird im Allgemeinen bei dem Herunterfahren des Systems ausgeführt (d.h. durch systemctl poweroff und zugehörige Befehle), um sicherzustellen, dass die Home-Verzeichnisse aller aktiven Benutzer vollständig deaktiviert werden, bevor /home/ und zugehörige Dateisysteme ausgehängt werden.

with BENUTZER BEFEHL…
    Aktiviert das Home-Verzeichnis des angegebenen Benutzers, führt den angegebenen Befehl aus (unter der Identität des Aufrufenden, nicht des Benutzers) und deaktiviert das Home-Verzeichnis anschließend wieder (außer der Benutzer ist anderweitig angemeldet). Dieser Befehl ist zur Ausführung privilegierter Sicherungsskripte und Ähnlichem nützlich, verlangt aber die Authentifizierung mit den Anmeldedaten des Benutzers, um in der Lage zu sein, das Home-Verzeichnis des Benutzers zu entsperren.

rebalance
    Freien Plattenplatz zwischen aktiven Home-Bereichen und dem zugrundeliegenden Speicher auswuchten. Siehe vorangehende Option --rebalance-weight=. Dies führt keine Aktion aus, außer es gibt mindestens einen aktiven LUKS2-Home-Bereich, bei dem das Auswuchten von Plattenplatz aktiviert ist. Diese Aktion ist synchron: sie wird nur abschließen, nachdem der Plattenplatz gemäß der Auswuchtungs-Gewichtungswerte ausgewuchtet wurde. Beachten Sie, dass das Auswuchten auch im Hintergund in regelmäßigen Abständen automatisch erfolgt. Verwenden Sie diesen Befehl, um synchron sicherzustellen, dass der Plattenplatz geeignet neu verteilt wird, bevor Sie eine Aktion anstoßen, die große Mengen an Plattenplatz benötigt.

EXIT-STATUS

Bei Erfolg wird 0 zurückgegeben, anderenfalls ein Fehlercode ungleich Null.

Wird ein Befehl mit with aufgerufen, dann wird der Exit-Status des Kindprozesses weitergeleitet. Insgesamt beendet sich homectl ohne Fehler, falls der Befehl erfolgreich aufgerufen wurde und sich erfolgreich beendete.

UMGEBUNGSVARIABLEN

$SYSTEMD_LOG_LEVEL
    Die maximale Protokollierstufe ausgesandter Nachrichten (Nachrichten mit einer höheren Protokollierstufe, d.h. weniger wichtige, werden unterdrückt). Sie muss (in absteigender Reihenfolge) entweder alert, crit, err, warning, notice, info, debug oder eine Ganzzahl im Bereich 0…7 sein. Siehe syslog(3) für weitere Informationen.

$SYSTEMD_LOG_COLOR
    Ein logischer Wert. Falls wahr, werden auf das TTY geschriebene Nachrichten gemäß ihrer Priorität eingefärbt.

    Diese Einstellung ist nur nützlich, falls die Nachrichten direkt auf das Terminal geschrieben werden, da journalctl(1) und andere Werkzeuge, die Protokolle anzeigen, selbständig Nachrichten gemäß ihrer Protokollierungsstufe einfärben.

$SYSTEMD_LOG_TIME
    Ein logischer Wert. Falls wahr, wird den Protokollnachrichten der Konsole ein Zeitstempel vorangestellt.

    Diese Einstellung ist nur nützlich, falls die Nachrichten direkt auf das Terminal oder in eine Datei geschrieben werden, da journalctl(1) und andere Werkzeuge, die Protokolle anzeigen, selbständig Zeitstempel basierend auf ihren Metadaten den Nachrichten anhängen werden.

$SYSTEMD_LOG_LOCATION
    Ein logischer Wert. Falls wahr, wird den Protokollnachrichten ein Dateinamen und eine Zeilenummer in dem Quellcode, aus dem die Nachrichten stammen, vorangestellt.

    Beachten Sie, dass der Protokollierort sowieso oft als Metadaten zu den Journal-Einträgen angehängt ist. Die Aufnahme in den Nachrichtentext kann bei der Fehlersuche in Programmen dennoch praktisch sein.

$SYSTEMD_LOG_TID
    Ein logischer Wert. Falls wahr, wird den Nachrichten die aktuelle numerische Thread-Kennung (TID) vorangestellt.

    Beachten Sie, dass diese Informationen sowieso als Metadatan an Journal-Einträge angehängt wird. Die Aufnahme direkt im Nachrichtentext kann aber trotzdem bei der Fehlersuche in Programmen praktisch sein.

$SYSTEMD_LOG_TARGET
    Das Ziel für Protokolliernachrichten. Entweder console (auf das angehängte TTY protokollieren), console-prefixed (auf das angehängte TTY protokollieren, aber die Protokollierstufe und »Einrichtung« voranstellen, siehe syslog(3)), kmsg (in den zirkulären Kernel-Protokollpuffer protokollieren), journal (in das Journal protokollieren (journal-or-kmsg (in das Journal protokollieren, falls verfügbar, und andernfalls nach Kmsg), auto (das geeignete Protokollierziel automatisch ermitteln, die Vorgabe) oder null (die Protokollierung deaktivieren).

$SYSTEMD_PAGER
    Zu verwendendes Textanzeigeprogramm, wenn --no-pager nicht angegeben ist; setzt $PAGER außer Kraft. Falls weder $SYSTEMD_PAGER noch $PAGER gesetzt sind, wird eine Reihe wohlbekannter Textanzeigeprogrammimplementierungen der Reihe nach ausprobiert, einschließlich less(1) und more(1), bis eines gefunden wird. Falls keine Textanzeigeprogrammimplementierung gefunden wird, wird keines aufgerufen. Setzen der Umgebungsvariablen auf die leere Zeichenkette oder den Wert »cat« ist äquivalent zur Übergabe von --no-pager.

    Beachten Sie: Falls $SYSTEMD_PAGERSECURE nicht gesetzt ist, dann wird $SYSTEMD_PAGER (sowie $PAGER) ohne Rückmeldung ignoriert.

$SYSTEMD_LESS
    Setzt die an less übergebenen Optionen (standardmäßig »FRSXMK«) außer Kraft.

    Benutzer könnten insbesondere zwei Optionen ändern wollen:

    K
        Diese Option weist das Textanzeigeprogramm an, sich sofort beim Druck von Strg-C zu beenden. Um less die Handhabung von Strg-C selbst zum Umschalten auf die Eingabeaufforderung zu erlauben, setzen Sie diese Option zurück.

        Falls der Wert von $SYSTEMD_LESS kein »K« enthält und less das aufgerufene Textanzeigeprogramm ist, wird Strg+C durch das Programm ignoriert und muss durch das Textanzeigeprogramm selbst gehandhabt werden.

    X
        Diese Option weist das Textanzeigeprogramm an, keine Termcap-Initialisierungs- und -Deinitalisierungszeichenketten an das Terminal zu senden. Dies ist standardmäßig gesetzt, damit die Darstellung von Befehlen selbst nach dem Beenden des Textanzeigeprogramms sichtbar bleibt. Allerdings stehen dadurch einige Funktionen des Textanzeigeprogramms nicht zur Verfügung; insbesondere ist das Scrollen in der Ausgabe mit der Maus nicht möglich.

    Siehe less(1) für weitere Ausführungen.

$SYSTEMD_LESSCHARSET
    Setzt den an less zu übergebenden Zeichensatz (standardmäßig »utf-8«, falls das aufrufende Terminal als UTF-8-kompatibel erkannt wurde) außer Kraft.

$SYSTEMD_PAGERSECURE
    Akzeptiert einen logischen Wert. Wenn wahr, wird der »sichere« Modus des Seitenanzeigeprogramms verwandt, falls falsch, wird dieser deaktiviert. Falls $SYSTEMD_PAGERSECURE überhaupt nicht gesetzt ist, dann wird der sichere Modus aktiviert, falls die effektive Kennung nicht identisch zu dem Eigentümer der Anmeldesitzung ist, siehe geteuid(2) und sd_pid_get_owner_uid(3). Im sicheren Modus wird LESSSECURE=1 beim Aufruf des Seitenanzeigeprogramms gesetzt und das Seitenanzeigeprogramm muss Befehle deaktivieren, die neue Dateien öffnen oder erstellen oder die einen neuen Unterprozess starten. Falls $SYSTEMD_PAGERSECURE überhaupt nicht gesetzt ist, werden Seitenanzeigeprogramme, bei denen unbekannt ist, ob sie einen sicheren Modus implementieren, nicht verwandt. (Derzeit implementiert nur less(1) einen sicheren Modus.)

    Hinweis: Wenn Befehle mit erhöhten Rechten ausgeführt werden, beispielsweise mittels sudo(8) oder pkexec(1), muss Vorsicht walten gelassen werden, um sicherzustellen, dass keine ungeplanten interaktiven Funktionalitäten aktiviert werden. Der »sichere« Modus für das Seitenanzeigeprogramm kann wie oben beschrieben automatisch aktiviert werden. Durch Setzen von SYSTEMD_PAGERSECURE=0 oder durch Nichtenfernen dieser Einstellung aus der ererbten Umgebung wird es dem Benutzer ermöglicht, beliebige Befehle auszuführen. Beachten Sie, dass auch $SYSTEMD_PAGERSECURE gesetzt werden muss, falls die Variablen $SYSTEMD_PAGER oder $PAGER berücksichtigt werden sollen. Es kann sinnvoll sein, stattdessen den Seitenanzeiger komplett mit --no-pager zu deaktivieren.

$SYSTEMD_COLORS
    Akzeptiert ein logisches Argument. Wenn wahr, werden systemd und verwandte Hilfswerkzeuge Farben in ihrer Ausgabe verwenden, andernfalls wird die Ausgabe einfarbig sein. Zusätzlich kann die Variable eine der folgenden besonderen Werte annehmen: »16«, »256«, um die Verwendung von Farbe auf die grundlegenden 16 bzw. 256 ANSI-Farben zu beschränken. Dies kann festgelegt werden, um die auf $TERM und der vorliegenden Verbindung der Konsole basierende automatische Entscheidung außer Kraft zu setzen.

$SYSTEMD_URLIFY
    Dies muss ein logischer Wert sein. Er steuert, ob anklickbare Links für Terminal-Emulatoren, die dies unterstützen, erstellt werden sollen. Dies kann angegeben werden, um die Entscheidung, die systemd basierend auf $TERM und anderen Bedingungen trifft, außer Kraft zu setzen.

BEISPIELE

Beispiel 1. Erstellt einen Benutzer »waldo« in der Administratorgruppe »wheel« und weist ihm 500 MiB Plattenplatz zu.

    homectl create waldo --real-name="Waldo McWaldo" -G wheel --disk-size=500M

Beispiel 2. Erstellt einen Benutzer »wally« auf einem USB-Stick und weist ihm eine maximale Anzahl von 500 gleichzeitig laufenden Prozessen zu.

    homectl create wally --real-name="Wally McWally" --image-path=/dev/disk/by-id/usb-SanDisk_Ultra_Fit_476fff954b2b5c44-0:0 --tasks-max=500

Beispiel 3. Ändert die Nice-Stufe des Benutzers »odlaw« auf +5, um sicherzustellen, dass bei der Anmeldung des Benutzers die Umgebungsvariable$EINE auf die Zeichenkette »SACHE« gesetzt ist.

    homectl update odlaw --nice=5 --setenv=EINE=SACHE

Beispiel 4. Richtet die Authentifizierung mit einem YubiKey-Sicherheits-Token mittels PKCS#11/PIV ein:

    # Bereinigt den Yubikey von allen alten Schlüsseln (Vorsicht!)
    ykman piv reset
    # Erstellt ein neues Schlüsselpaar (privat/öffentlich) auf dem Gerät, speichert den öffentlichen Schlüssel in »pubkey.pem«.
    ykman piv generate-key -a RSA2048 9d pubkey.pem
    # Erstellt ein selbstsigniertes Zertifikat aus diesem öffentlichen Schlüssel und speichert es auf dem Gerät.
    ykman piv generate-certificate --subject "Knobelei" 9d pubkey.pem
    # Der öffentliche Schlüssel wird auf der Platte nicht mehr benötigt
    rm pubkey.pem
    # Erlaubt dem Sicherheits-Token, das Konto des Benutzers »lafcadio« zu entsperren
    homectl update lafcadio --pkcs11-token-uri=auto

Beispiel 5. Richtet die Authentifizierung mit einem FIDO2-Sicherheits-Token ein:

    # Erlaubt dem FIDO2-Sicherheits-Token, das Konto des Benutzers »nihilbaxter« zu entsperren
    homectl update nihilbaxter --fido2-device=auto

SIEHE AUCH

systemd(1), systemd-homed.service(8), homed.conf(5), userdbctl(1), useradd(8), cryptsetup(8)

ANMERKUNGEN

1.  JSON-Benutzerdatensätze
    https://systemd.io/USER_RECORD

2.  Icon-Benennungsspezifikation
    https://standards.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html

3.  Benutzer-/Gruppennamen-Syntax
    https://systemd.io/USER_NAMES

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer (debian-l10n-german@lists.debian.org).