ATA 可信命令-如何设置 libata allowed_tpm

tdQ*_*ang 5 linux security ata

我想将可信发送/可信接收发送到我的硬盘。我找到了这个页面: ATA Trusted Commands in Linux。(谢谢 ehemient 和德米特里·奥布霍夫)。

现在,我的麻烦是如何设置 libata allowed_tpm = 1。我使用的是 Ubuntu 13.10。我的代码与 Dmitry Obukhov 相同(它非常适合识别和所有其他命令,但不适用于受信任的命令。)

从另一个角度看之后,我做了这些:

- In BIOS, set AHCI mode.
Run Code Online (Sandbox Code Playgroud)

在终端中:

- sudo dmesg -c:

   [    0.157207] SCSI subsystem initialized.

   [    0.157209] ACPI: bus type ATA registered.

   [    0.157236] libata version 3.00 loaded.

   [    0.878999] ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 6 ports 6
   Gbps 0x3 impl SATA mode.

   [    0.887125] ata1: SATA max UDMA/133 abar m2048@0xf7c16000 port
   0xf7c16100 irq 41.

   [    0.887127] ata2: SATA max UDMA/133 abar m2048@0xf7c16000 port
   0xf7c16180 irq 41.

   [    1.205449] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl
   300).

   [    1.205477] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl
   300).

   [    1.206127] ata2.00: supports DRM functions and may not be fully
   accessible.

   [    1.206131] ata2.00: ATA-8: ST500LT025-1A5142, 0001SDM7, max
   UDMA/133.

   [    1.206133] ata2.00: 976773168 sectors, multi 1: LBA48 NCQ (depth
   31/32).

   [    1.206159] ata1.00: supports DRM functions and may not be fully
   accessible.

   [    1.206163] ata1.00: ATA-8: ST500LT025-1A5142, 0001SDM7, max
   UDMA/133.

   [    1.206165] ata1.00: 976773168 sectors, multi 1: LBA48 NCQ (depth
   31/32).



- systool -a -v -m libata

  Module = "libata"

  Attributes:
    uevent              = <store method only>
    version             = "3.00"

  Parameters:
    acpi_gtf_filter     = "7"
    allow_tpm           = "0"
    ata_probe_timeout   = "0"
    atapi_an            = "0"
    atapi_dmadir        = "0"
    atapi_enabled       = "1"
    atapi_passthru16    = "1"
    dma                 = "7"
    fua                 = "0"
    ignore_hpa          = "0"
    noacpi              = "0"
    zpodd_poweroff_delay= "30"

- sudo nano /etc/modprobe.d/local.conf.
  Add this line: options libata allow_tpm=1

- sudo nano /boot/grub/menu.lst.
  Add this line: combined_mode=libata

- sudo update-initramfs -u&& sudo update-grub2
Run Code Online (Sandbox Code Playgroud)

重新启动后,我systool -a -v -m libata再次运行,没有任何变化allow_tpm。我应该做什么来改变allow_tpm

mag*_*_al 6

allow_tpm如果您想永久更改,请通过添加到in 中来告诉grub您这样做。例如:libata.allow_tpm=1GRUB_CMDLINE_LINUX_DEFAULT/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash libata.allow_tpm=1"
Run Code Online (Sandbox Code Playgroud)

然后运行sudo update-grub并重新启动。


tdQ*_*ang 0

我刚刚成功更改了allow_tpm 的值,因此ATA Trusted 命令现在可以工作。

- cd /sys/module/libata/parameters
- sudo chmod 644 allow_tpm
- sudo nano allow_tpm
  Delete number 0 and write number 1. Save file.
Run Code Online (Sandbox Code Playgroud)

也许这不是一个确切的方法,因为每次重新启动计算机时,文件allow_tpm中的值都会重置为0。

  • 我在尝试修改和保存此文件时遇到错误(是的,使用 root 权限)。如果失败,请尝试 /etc/default/grub 方法。 (3认同)