Ich arbeite am Trusted Platform Module (TPM)-Chip (sowohl TPM12 als auch TPM20). Derzeit führe ich einige Vorgänge am TPM aus, z. B. TPM-Eigentümerschaft übernehmen, TPM löschen, Schlüssel im TPM generieren usw. Für alle diese Vorgänge benötige ich jedoch eine Sudo-Berechtigung auf meinem Linux-Laptop.
Kann ich also alle oben genannten Vorgänge als normaler Benutzer ohne Root-Berechtigung ausführen? Wenn ja, wie greife ich ohne Root-Berechtigung auf TPM zu?
Antwort1
Diese Antwort gilt für TPM2 (für TPM1.2 dürfte das Prinzip ähnlich sein). Zunächst einmal: Ihr TPM ist über die folgenden Zeichengeräte zugänglich.
/dev/tpm0
: direkter Zugriff auf TPM-Treiber/dev/tpmrm0
: Zugriff auf den TPM-Treiber über den im Kernel integrierten TPM-Ressourcenmanager (empfohlen)
Sie können die Lese-/Schreibberechtigungen dieser Dateien natürlich vorübergehend ändern. Was Sie jedoch tatsächlich tun möchten, ist, eine udev
Regel zu erstellen. Das ist im Grunde eine Datei in /etc/udev/rules.d/
. Als Referenz sehen Sie sich dieudev-Regeln bereitgestellt durch das TSS:
# tpm devices can only be accessed by the tss user but the tss
# group members can access tpmrm devices
KERNEL=="tpm[0-9]*", MODE="0660", OWNER="tss"
KERNEL=="tpmrm[0-9]*", MODE="0660", OWNER="tss", GROUP="tss"
Wie Sie sehen, gibt es eine Regel für den Benutzer tss
. Dieser Benutzer ist für dieUserspace-Ressourcenmanager. Wenn Sie diesen Ressourcenmanager verwenden, müssen Sie nicht mehr selbst auf die Dateien zugreifen, sondern der Ressourcenmanager im Userspace übernimmt dies für Sie. Sie benötigen daher keine Root-Berechtigungen mehr. Der Ressourcenmanager im Userspace wird als Dienst ausgeführt (oder manuell als Benutzer gestartet tss
).