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?
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并重新启动。
我刚刚成功更改了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。