CRYPTTAB(5)

BEZEICHNUNG
crypttab - statische Informationen über verschlüsselte Dateisysteme

BESCHREIBUNG

Die Datei /etc/crypttab enthält beschreibende Informationen über verschlüsselte Geräte. crypttab wird von Programmen nur gelesen (z.B. cryptdisks_start und cryptdisks_stop) und nicht geschrieben; es ist die Aufgabe des Systemadministrators, diese Datei korrekt zu erstellen und zu warten. crypttab-Einträge werden der Reihe nach behandelt, daher ist ihre Reihenfolge wichtig (Abhängigkeiten müssen zuerst aufgeführt werden).

Jedes verschlüsselte Gerät wird auf einer getrennten Zeile beschrieben. Felder auf jeder Zeile werden durch Tabulatoren oder Leerzeichen getrennt. Zeilen, die mit »# beginnen, sind Kommentare und leere Zeilen werden ignoriert. Oktale Sequenzen \0num innerhalb eines Feldes werden dekodiert, was für Werte verwandt werden kann, die Leerzeichen oder besondere Zeichen enthalten. Ein Rückwärtsschrägstrich, der keine oktale Abfolge einleitet, führt zu nicht definiertem Verhalten.

Das erste Feld, Ziel, beschreibt den gemappten Gerätenamen. Es muss ein einfacher Dateiname ohne Verzeichniskomponente sein. Ein gemapptes Gerät, das Daten aus dem oder in das Quellgerät ver- bzw. entschlüsselt, wird durch cryptsetup unter /dev/mapper/target erstellt.

Das zweite Feld, Quellgerät, beschreibt entweder eine blockorientierte Spezialdatei oder eine Datei, die die verschlüsselten Daten enthält. Anstatt das Quellgerät explizit anzugeben, wird auch die UUID (bzw. LABEL, PARTUUID und PARTLABEL) mittels »UUID=<uuid>« (bzw. »LABEL=<Bezeichnung>«, »PARTUUID=<partuuid>« und »PARTLABEL=<Teilbezeichnung>«) unterstützt.

Das dritte Feld, Schlüsseldatei, beschreibt die Datei, die als Schlüssel für die Entschlüsselung der Daten auf dem Quellgerät verwandt werden soll. Im Falle eines Schlüsselskripts wird der Wert dieses Feldes als Argument an das Schlüsselskript übergeben. Beachten Sie, dass die gesamte Schlüsseldatei als die Passphrase verwandt werden wird; der Passphrase darf kein Zeilenumbruch folgen.

Sie kann auch ein Gerätename sein (z.B. /dev/urandom). Beachten Sie allerdings, dass LUKS einen dauerhaften Schlüssel benötigt und daher Schlüssel aus zufälligen Daten nicht unterstützt.

Falls als Schlüsseldatei die Zeichenkette none übergeben wird, dann wird eine Passphrase interaktiv von der Konsole eingelesen. In diesem Fall könnten die Optionen check, checkargs und tries nützlich sein.

Das vierte Feld, Optionen, ist eine optionale, durch Kommata getrennte Liste von Optionen und/oder Schalter, die den Gerätetyp ((luks, tcrypt, bitlk, fvault2 oder die Vorgabe plain) beschreiben und die Cryptsetup-Optionen, die dem Verschlüsselungsprozess zugeordnet sind. Die unterstützten Optionen werden nachfolgend beschrieben. Für einfache dm-crypt-Geräte sind die Optionen cipher, hash und size notwendig. Einige Optionen können auf aktiven Mappings mittels cryptsetup refresh [<Optionen>] <Name> geändert werden. Desweiteren können einige Optionen mittels des Schalters --persistent von Cryptsetup dauerhaft in die Metadaten der LUKS2-Kopfzeilen geschrieben werden.

Beachten Sie, dass die ersten drei Felder verpflichtend sind und dass ein fehlendes Feld zu nicht definiertem Verhalten führt.

ÜBER VERSCHIEDENE CRYPTTAB-FORMATE

Bitte beachten Sie, dass es mehrere, voneinander unahbhängige Wrapper für Cryptsetup mit ihrem eigenen crypttab-Format gibt. Diese Handbuchseite deckt die Debian-Implementierung für initramfs- und SysVinit-Init-Skripte ab. systemd stellt seine eigene crypttab-Implementierung bereit. Wir versuchen, die Unterschiede zwischen der Implementierung von systemd und unserer in dieser Handbuchseite darzustellen, im Zweifelsfall prüfen Sie aber besser die Handbuchseite crypttab(5) von systemd, z.B. online unter https://www.freedesktop.org/software/systemd/man/crypttab.html.

OPTIONEN

cipher=<Chiffre>
    Verschlüsselungsalgorithmus (für LUKS- und TCRYPT-Geräte ignoriert). Siehe cryptsetup -c.

size=<Größe>
    Größe des Verschlüsselungsschlüssels (für LUKS- und TCRYPT-Geräte ignoriert). Siehe cryptsetup -s.

sector-size=<Byte>
    Sektorgröße. Siehe cryptsetup(8) für mögliche Werte und den Vorgabewert dieser Option.

hash=<Hash>
    Hash-Algorithmus (für LUKS- und TCRYPT-Geräte ignoriert). Siehe cryptsetup -h.

offset=<Versatz>
    Startversatz (für LUKS- und TCRYPT-Geräte ignoriert). Siehe cryptsetup -o.

skip=<Sprung>
    Am Anfang übersprungene Sektoren (für LUKS- und TCRYPT-Geräte ignoriert). Siehe cryptsetup -p.

keyfile-offset=<Schlüsseldatei-Versatz>
    Legt die Anzahl der am Anfang der Schlüsseldatei zu überspringenden Byte fest.

keyfile-size=<Schlüsseldateigröße>
    Legt die maximale Anzahl der aus der Schlüsseldatei zu lesenden Byte fest. Standardmäßig wird die gesamte Datei bis zum einkompilierten Maximum eingelesen, was mit cryptsetup --help abgefragt werden kann. Diese Option wird für einfache dm-crypt-Geräte ignoriert, da dann die Schlüsseldateigröße durch die Schlüsselgröße gegeben ist (Option size).

keyslot=<Position>, key-slot=<Position>
    Schlüsselposition (für nicht-LUKS-Geräte ignoriert). Siehe cryptsetup -S.

header=<Pfad>
    Abgetrennte Kopfzeilen-Datei (für einfache dm-crypt-Geräte ignoriert). Siehe cryptsetup --header.

verify
    Passwort überprüfen. Verwendet cryptsetup -y.

readonly, read-only
    Richtet ein schreibgeschütztes Mapping ein.

tries=<num>
    Versucht das Gerät <num> zu entsperren, bevor das Programm fehlschlägt. Dies ist insbesondere nützlich, wenn eine Passphrase verwandt wird oder ein Schlüsselskript, das um interaktive Eingabe bittet. Falls Sie Mehrfachversuche verbieten wollen, übergeben Sie »tries=1«. Die Vorgabe ist »3«. Die Angabe von »tries=0« bedeutet, dass beliebig viele Versuche möglich sind.

discard
    Erlaubt die Verwendung von »discard«- (TRIM-)Anfragen für das Gerät.

    Beginnend mit Debian 10 (Buster) wird diese Option standardmäßig zu neuen dm-crypt-Geräten durch den Debian-Installer hinzugefügt. Falls Sie keine Probleme mit der Preisgabe von Zugriffsmustern (Dateisystemtyp, benutzter Platz) haben sowie keine versteckten Truecrypt-Datenträger innerhalb dieses Datenträgers vorliegen, dann sollte es sicher sein, diese Option zu aktivieren. Lesen Sie die nachfolgende Warnung für weitere Informationen.

    WARNUNG: Beurteilen Sie die speziellen Sicherheitsrisiken sorgfältig, bevor Sie diese Option aktivieren. Beispielsweise kann das Erlauben von »discards« bei verschlüsselten Geräten dazu führen, dass Informationen über das chiffrierte Gerät (wie Dateisystemtyp, verwandter Platz usw..) preisgegeben werden könnten, falls die ausrangierten Blöcke später leicht auf dem Gerät gefunden werden können.

luks
    Erzwingt den LUKS-Modus. Wenn dieser Modus verwandt wird, werden die folgenden Optionen ignoriert, da sie durch die LUKS-Kopfzeilen auf dem Gerät bereitgestellt werden: cipher=, hash=, size=.

plain
    Erzwingt den einfachen Verschlüsselungsmodus.

bitlk
    Erzwingt BITLK- (Windows BitLocker-kompatiblen) Modus. WARNUNG: Die Unterstützung in crypttab ist derzeit experimentell.

fvault2
    Erzwingt den FileVault2-Modus von Apple. Derzeit wird nur das (veraltete) FileVault2-Format basierend auf Core Storage und dem HFS+-Dateisystem (eingeführt in MacOS X 10.7 Lion) unterstützt; die neue Version von FileVault basierend auf dem APFS-Dateisystem, wie sie in neueren Versionen von macOS verwandt wird, wird nicht unterstützt.

tcrypt
    Verwendet den TrueCrypt-Verschlüsselungsmodus. Beim Einsatz dieses Modus werden die folgenden Optionen ignoriert, da sie durch die TrueCrypt-Kopfzeilen bereitgestellt werden oder nicht anwendbar sind: cipher=, hash=, keyfile-offset=, keyfile-size=, size=.

veracrypt, tcrypt-veracrypt
    Verwendet VeraCrypt-Erweiterungen für das TrueCrypt-Gerät. Nur nützlich im Zusammenspiel mit der Option tcrypt (ignoriert für nicht-TrueCrypt-Geräte).

tcrypthidden, tcrypt-hidden
    Verwendet versteckte TCRYPT-Kopfzeilen (ignoriert für nicht-TCRYPT-Geräte).

same-cpu-crypt
    Führt die Verschlüsselung auf der gleichen CPU durch, auf der auch die E/A eingereicht wurde.

submit-from-crypt-cpus
    Deaktiviert das Abladen von Schreibaktionen auf einen separaten Thread nach der Verschlüsselung.

no-read-workqueue, no-write-workqueue
    Umgeht die interne Arbeitswarteschlange von dm-crypt und verarbeitet Lese- oder Schreibanfragen synchron.

swap
    Führt mkswap auf dem erstellten Gerät aus.

    Diese Option wird für initramfs-Geräte ignoriert.

tmp[=<Tmpfs>]
    Führt mkfs mit dem Dateisystem <tmpfs> (oder ext4, falls nicht angegeben) auf dem erstellten Gerät aus.

    Diese Option wird für initramfs-Geräte ignoriert.

check[=<Prüfprogramm>]
    Überprüft den Inhalt des Zielgerätes mit einem geeigneten Programm; falls die Überprüfung fehlschlägt, wird das Gerät sofort geschlossen. Das Programm wird mit dem entschlüsselten Datenträger (Zielgerät) als erstes Positionsargument und, falls die Option checkargs verwandt wird, seinem Wert als zweites Argument ausgeführt. Siehe den Abschnitt CHECKSCRIPTS für weitere Informationen.

    Das Programm wird entweder durch einen vollständigen Pfad oder relativ zu /lib/cryptsetup/checks/ festgelegt. Falls nicht angegeben, dann wird der in /etc/default/cryptdisks gesetzte Wert für $CRYPTDISKS_CHECK verwandt (standardmäßig blkid).

    Diese Option ist für das crypttab-Format von Debian spezifisch. Sie wird nicht von systemd unterstützt.

checkargs=<Argumente>
    Übergibt <Argumente> als das zweite Argument an das Überprüfungsskript. Siehe den Abschnitt CHECKSCRIPTS für weitere Informationen.

    Diese Option ist für das crypttab-Format von Debian spezifisch. Sie wird nicht von systemd unterstützt.

initramfs
    Der Initramfs-Hook verarbeitet das Wurzelgerät, sämtliche Wiederaufnahmegeräte und alle Geräte, bei denen die Option initramfs gesetzt ist. Diese Geräte werden innerhalb der Initramfs-Stufe beim Systemstart verarbeitet. Dies erlaubt beispielsweise die Verwendung einer Entsperrung aus der Ferne mit Dropbear.

    Diese Option ist für das crypttab-Format von Debian spezifisch. Sie wird nicht von systemd unterstützt.

noearly
    Die Cryptsetup-Init-Skripte werden während des Systemstarts zweimal aufgerufen - einmal bevor LVM, RAID usw. gestartet werden und dann erneut danach. Manchmal müssen Sie Ihre verschlüsselten Platten in einer bestimmten Reihenfolge entschlüsseln. Mit dieser Option wird das Gerät während des ersten Aufrufs der Cryptsetup-Init-Skripte ignoriert.

    Diese Option wird für initramfs-Geräte ignoriert und ist für das crypttab-Format von Debian spezifisch. Sie wird von systemd nicht unterstützt.

noauto
    Ignoriert das Gerät während des Systemstartes komplett. Es ist weiterhin möglich, Geräte manuell mit cryptdisks_start zuzuordnen.

    Diese Option wird für initramfs-Geräte ignoriert und ist für das crypttab-Format von Debian spezifisch. Sie wird von systemd nicht unterstützt.

loud
    Ausführliche Ausgabe. Warnungen werden ausgegeben, falls ein Gerät nicht existiert. Diese Option setzt die Option quite außer Kraft.

    Diese Option wird für initramfs-Geräte ignoriert und ist für das crypttab-Format von Debian spezifisch. Sie wird von systemd nicht unterstützt.

quiet
    Knappe Ausgabe. Warnungen werden nicht ausgegeben, falls ein Gerät nicht existiert. Diese Option setzt die Option loud außer Kraft.

    Diese Option wird für initramfs-Geräte ignoriert und ist für das crypttab-Format von Debian spezifisch. Sie wird von systemd nicht unterstützt.

keyscript=<Pfad>
    Das unter dem angegebenen Pfad existierende Programm wird mit dem Wert des dritten Feldes als einziges Argument ausgeführt. Die Standardausgabe des Schlüsselskripts wird an Cryptsetup als Entschlüsselungsschlüssel weitergegeben. Sein Exit-Status wird derzeit ignoriert, allerdings sollte diesbezüglich keine Annahme getroffen werden. Wird dies in der Initramfs verwandt, muss das Programm entweder abgeschlossen sein (d.h. nicht von irgendwelchen Programmen abhängen, die in einer Initramfs-Umgebung nicht vorhanden sind) oder die Abhängigkeiten müssen auf irgendwelche andere Weise zu dem Initramfs-Abbild hinzugefügt werden. Das Programm wird entweder durch einen vollständigen Pfad oder relativ zu /lib/cryptsetup/scripts/ festgelegt.

    BESCHRÄNKUNGEN: Sämtliche Programme und Dateien, von denen das Schlüsselskript abhängt, müssen zum Ausführungszeitpunkt verfügbar sein. Für verschlüsselte Dateisysteme wie /usr oder /var muss besondere Vorsicht walten gelassen werden. Beispielsweise darf das Entsperren eines verschlüsselten /usr nicht von Programmen aus /usr/(s)bin abhängen.

    Diese Option ist für das crypttab-Format von Debian spezifisch. Sie wird nicht von systemd unterstützt.

    WARNUNG: Ist Systemd das Init-System, dann könnte diese Option ignoriert werden. Zum Zeitpunkt der Erstellung dieses Textes (Dezember 2016) unterstützt das Cryptsetup-Hilfsprogramm die Schlüsselskript-Option von /etc/crypttab nicht. Derzeit ist die einzige Möglichkeit, Schlüsselskripte zusammen mit Systemd zu verwenden, die Verarbeitung der entsprechenden Geräte in der Initramfs zu erzwingen. Siehe die Option »initramfs« für weitere Informationen.

    Alle Felder der entsprechenden Crypttab-Einträge sind für das Schlüsselskript als exportierte Umgebungsvariablen verfügbar:

    CRYPTTAB_NAME, _CRYPTTAB_NAME
        Der Name des Ziels (nach bzw. vor der Dekodierung von Oktalabfolgen).

    CRYPTTAB_SOURCE, _CRYPTTAB_SOURCE
        Das Quellgerät (nach bzw. vor der Dekodierung von Oktalabfolgen und Geräteauflösung).

    CRYPTTAB_KEY, _CRYPTTAB_KEY
        Der Wert des dritten Feldes (nach bzw. vor der Dekodierung von Oktalabfolgen).

    CRYPTTAB_OPTIONS, _CRYPTTAB_OPTIONS
        Eine Liste von exportierten Crypttab-Optionen (nach bzw. vor der Dekodierung von Oktalabfolgen).

    CRYPTTAB_OPTION_<Option>
        Der Wert der entsprechenden Crypttab-Option, wobei der Wert auf »yes« gesetzt wird, falls die Option einfach ein Schalter ist. Für Options-Aliase, wie »readonly« und »read-only«, beziehen sich die Variablennamen auf die erste aufgeführte Alternative (daher in diesem Fall »CRYPTTAB_OPTION_readonly«). Falls die Crypttab-Option Minuszeichen (»-«) enthält, dann werden diese durch »_« in dem exportierten Dateinamen ersetzt. Beispielsweise wird der Wert der Umgebungsvariablen »CRYPTTAB_OPTION_keyfile_offset« auf den Wert der Crypttab-Option »keyfile-offset« gesetzt.

    CRYPTTAB_TRIED
        Anzahl der vorherigen Versuche seit dem Start von Cryptdisks (zählt, bis die maximale Anzahl der Versuche erreicht wurde).

CHECKSCRIPTS

blkid
    Prüft auf alle bekannten Dateisysteme. Unterstützt einen Dateisystemtyp als Argument mittels <checkargs>:

        • checkargs nicht angegeben - erfolgreich, falls irgendein gültiges Dateisystem auf dem Gerät gefunden wird.

        • »none« - erfolgreich, falls kein gültiges Dateisystem auf dem Gerät gefunden wird.

        • »ext4« [oder ein anderes Dateisystem wie xfs, swap, crypto_LUKS, … ] - erfolgreich, falls ein Ext4-Dateisystem auf dem Gerät gefunden wird.

un_blkid
    Überprüft auf keine bekannten Dateisysteme. Unterstützt ein Dateisystemtyp als Argument mittels <checkargs>:

        • keine checkargs - erfolgreich, falls kein gültiges Dateisystem auf dem Gerät gefunden wird.

        • »ext4« [oder ein anderes Dateisystem wie xfs, swap, crypto_LUKS, … ] - erfolgreich, falls kein Ext4-Dateisystem auf dem Gerät gefunden wird.

BEISPIELE

    # Verschlüsseltes Auslagerungsgerät
    cswap /dev/sda6 /dev/urandom plain,cipher=aes-xts-plain64,size=256,hash=sha1,swap
    # Verschlüsselte LUKS-Platte mit interaktivem Passwort, identifiziert durch seine UUID, discard aktiviert
    cdisk0 UUID=12345678-9abc-def012345-6789abcdef01 none luks,discard
    # Verschlüsselte TCRYPT-Platte mit interaktivem Passwort, discard aktiviert
    tdisk0 /dev/sr0 none tcrypt,discard
    # Verschlüsselte ext4-Platte mit interaktivem Passwort, discard aktiviert
    # - fünf Mal versuchen, falls die Überprüfung fehlschlägt
    cdisk1 /dev/sda2 none plain,cipher=aes-xts-plain64,size=256,hash=sha1,check,checkargs=ext4,tries=5,discard
    # Verschlüsselte Platte mit interaktivem Passwort, discard aktiviert
    # - verwendet ein Nicht-Standard-Überprüfungsskript
    # - keine Neuversuche
    cdisk2 /dev/sdc1 none plain,cipher=aes-xts-plain64,size=256,hash=sha1,check=customscript,tries=1,discard
    # Verschlüsselte Platte mit interaktivem Passwort, discard aktiviert
    # - Twofish als die Chiffre, RIPEMD-160 als den Hash
    cdisk3 /dev/sda3 none plain,cipher=twofish,size=256,hash=ripemd160,discard

UMGEBUNGSVARIABLEN

CRYPTDISKS_ENABLE
    Setzen Sie dies auf yes, um Cryptdisk-Initskripts beim Hochfahren auszuführen. Setzen Sie dies auf no, um Cryptdisk-Initskripts zu deaktivieren. Standardmäßig yes.

CRYPTDISKS_MOUNT
    Legt die Einhängepunkte fest, die eingehängt werden, bevor Cryptdisk aufgerufen wird. Akzeptiert in /etc/fstab konfigurierte Einhängepunkte als Argumente. Trennen Sie Einhängepunkte durch Leerzeichen. Dies ist für Schlüssel auf Wechselmedien wie CD-ROM, USB-Stick, Flashcard usw. nützlich. Standardmäßig nicht gesetzt.

CRYPTDISKS_CHECK
    Legt das Checkskript fest, das standardmäßig gegen das Zielgerät ausgeführt werden soll, nachdem Cryptdisk aufgerufen wurde. Das Zielgerät wird als erstes und einziges Argument an das Checkskript übergeben. Dies wird wirksam, falls die Option check in Crypttab ohne Wert angegeben ist. Siehe die vorstehende Dokumentation der Option check für weitere Informationen.

BEKANNTE PROBLEME BEIM UPGRADE

Die Vorgaben der Originalautoren für die Chiffre, den Hash und die Schlüsselgröße wurden in der Vergangenheit mehrfach geändert und es wird erwartet, dass sie sich auch in der Zukunft ändern werden, beispielsweise wenn Sicherheitsprobleme auftauchen. Auf LUKS-Geräten werden die verwandten Einstellungen in den LUKS-Kopfzeilen gespeichert und müssen daher nicht in /etc/crypttab konfiguriert werden. Für einfache dm-crypt-Geräte sind überhaupt keine Informationen über die verwandte Chiffre, den Hash und die Schlüsselgröße verfügbar. Daher empfehlen wir nachdrücklich, für einfache dm-crypt-Geräte die Chiffre, den Hash und die Schlüsselgröße in /etc/crypttab zu konfigurieren, selbst wenn sie mit den aktuellen Vorgabewerten übereinstimmen.

SIEHE AUCH
cryptsetup(8), cryptdisks_start(8), cryptdisks_stop(8), /usr/share/doc/cryptsetup-initramfs/README.initramfs.gz

AUTOR

Diese Handbuchseite wurde ursprünglich von Bastian Kleineidam <calvin@debian.org> für das in der Debian-Distribution enthaltene Cryptsetup geschrieben. Sie wurde weiter von Michael Gebetsroither <michael.geb@gmx.at>, David Härdeman <david@hardeman.nu> und Jonas Meurer <jonas@freesources.org> verbessert.

Ü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).