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=DATEILiest 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=[email protected]«. 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 NAMEDer 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 verwendenden 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 Vorrat, 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: listListet 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_LEVELDie 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
Siehe less(1) für weitere Ausführungen.
$SYSTEMD_LESSCHARSET
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.
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
homectl create wally --real-name="Wally McWally" --image-path=/dev/disk/by-id/usb-SanDisk_Ultra_Fit_476fff954b2b5c44-0:0 --tasks-max=500
homectl update odlaw --nice=5 --setenv=EINE=SACHE
# 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
# 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
- 2.
- Icon-Benennungsspezifikation
- 3.
- Benutzer-/Gruppennamen-Syntax
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <[email protected]> erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 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 Übersetzersystemd 252 |