Am un Ubuntu configurat în WSL2. Apoi am încercat instrucțiuni la https://wiki.ubuntu.com/TPM/Testing și am încercat să configurez simulatorul TPM pe Ubuntu. Dar dintr-un motiv oarecare se pare că ajung într-o situație în care nu pot porni simulatorul din cauza erorii DBus, în timp ce problema reală ar putea fi diferită. Pot replica aceeași problemă și încercând să configurez un simulator TPM în acțiunea GitHub folosind ubuntu-latest
. Așadar, mi-a trecut prin minte că poate forumurile Ubuntu le cunoaște cineva mai bine, se pare că acest lucru îi deranjează și pe cei de pe firele TPM GitHub. :)
Secvența curentă pe care o am este următoarea:
sudo apt-get update
sudo apt-get install tpm2-abrmd
sudo apt-get install libtss2-tcti-tabrmd-dev
sudo tpm2-abrmd --tcti=mssim --allow-root
sau pe GitHub Actions a doua parte este
sudo service tpm2-abrmd start
sudo tpm2-abrmd --allow-root --tcti=mssim --logger=stdout
care par să funcționeze datorită modului în care sunt configurate drepturile de acces.
> sudo tpm2-abrmd --tcti=mssim --allow-root
** (proces:741): AVERTISMENT **: 16:36:40.585: tcti_conf înainte de: „device:/dev/tpm0”
** (tpm2-abrmd:741): AVERTISMENT **: 16:36:40.585: tcti_conf după: „mssim”
** (tpm2-abrmd:741): AVERTISMENT **: 16:36:40.586: Nu s-a putut obține proxy pentru demonul DBus (org.freedesktop.DBus): Nu s-a putut conecta: Nu s-a putut conecta: Nu există un astfel de fișier sau director
** (tpm2-abrmd:741): CRITIC **: 16:36:40.586: Nu s-a putut achiziționa numele DBus com.intel.tss2.Tabrmd.UID 0 trebuie să aibă permisiunea de a „deține” acest nume. Verificați configurația DBus și verificați dacă aceasta rulează ca utilizator tss sau root.
AVERTISMENT:tcti:src/util/io.c:251:socket_connect() Nu s-a putut conecta la gazda 127.0.0.1, portul 2321: errno 111: Conexiune refuzată
AVERTISMENT:tcti:src/tss2-tcti/tctildr.c:62:tcti_from_init() TCTI init pentru funcția 0x7f0f40e733d0 a eșuat cu a000a
AVERTISMENT:tcti:src/tss2-tcti/tctildr.c:92:tcti_from_info() Nu s-a putut inițializa TCTI numit: tcti-socket
EROARE:tcti:src/tss2-tcti/tctildr-dl.c:150:tcti_from_file() Nu s-a putut inițializa fișierul TCTI: mssim
EROARE:tcti:src/tss2-tcti/tctildr.c:418:Tss2_TctiLdr_Initialize_Ex() Nu s-a putut instanția TCTI
** (tpm2-abrmd:741): CRITICAL **: 16:36:40.586: init_thread_func: nu s-a putut crea TCTI cu conf "mssim", a primit RC: 0xa000a
Privind configurația DBus, există /etc/dbus-1/system.d/tpm2-abrmd.conf
:
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
<!-- ../system.conf have denied everything, so we just punch some holes -->
<policy user="tss">
<allow own="com.intel.tss2.Tabrmd"/>
</policy>
<policy user="root">
<allow own="com.intel.tss2.Tabrmd"/>
</policy>
<policy user="XYZ">
<allow own="com.intel.tss2.Tabrmd"/>
</policy>
<policy context="default">
<allow send_destination="com.intel.tss2.Tabrmd"/>
<allow receive_sender="com.intel.tss2.Tabrmd"/>
</policy>
</busconfig>
De asemenea /etc/dbus-1/system.d/tpm2-abrmd.service
:
[Unitate]
Descriere=TPM2 Access Broker și Daemon de gestionare a resurselor
După=systemd-udev-settle.service
Necesită=systemd-udev-settle.service
# Această condiție este necesară când se utilizează dispozitivul TCTI. Dacă
# TCP mssim este folosit, atunci condiția ar trebui comentată.
# ConditionPathExistsGlob=/dev/tpm*
[Serviciu]
Tip=dbus
BusName=com.intel.tss2.Tabrmd
StandardOutput=syslog
ExecStart=/usr/sbin/tpm2-abrmd --tcti=mssim
Utilizator=tss
[Instalare]
WantedBy=multi-user.target
Voi adăuga că alergarea ca
sudo -u tss /usr/local/sbin/tpm2-abrmd --tcti=mssim --logger=stdout &
Se pare că nu face nicio diferență. Rezultatul este
> [2] 163
XYZ@ABC:/$ sudo: /usr/local/sbin/tpm2-abrmd: comanda nu a fost găsită
[2]- Ieșire 1 sudo -u tss /usr/local/sbin/tpm2-abrmd --tcti=mssim --logger=stdout
De asemenea, poate, chiar probabil, nu știu ce fac. Fiind destul de nou în Linux și Ubuntu.