0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Omarchy Macでの暗号化ファイルシステム(btrfs)自動アンロック

0
Posted at

自動ログインの有効化
Omarchyで採用されている暗号化ファイルシステムLUKS(Linux Unified Key Setup)のアンロックのためのパスワード入力を自動化する手順です。
※ただし、この方法では暗号化解除のための認証鍵ファイルが暗号化されたファイルシステムがあるMac上に存在することになるため、安全な状態とはいえません。

LUKSをアンロックするための認証鍵ファイルを生成する

sudo dd if=/dev/random of=/root/luks.key bs=4096 count=1

生成したファイルのパーミッションを変更し認証鍵ファイルを他人が読めないようにする

sudo chmod 000 /root/luks.key

ブロックデバイスの一覧を表示

lsblk

表示された一覧から暗号化されたファイルシステム(crypt)が存在するデバイス、この例ではnvme0n1p2を掌握

NAME        MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINTS
sda           8:0    1    0B  0 disk  
zram0       252:0    0 31.4G  0 disk  [SWAP]
nvme0n1     259:0    0  1.9T  0 disk  
├─nvme0n1p1 259:1    0    2G  0 part  /boot
└─nvme0n1p2 259:2    0  1.9T  0 part  
  └─root    253:0    0  1.9T  0 crypt /home
                                      /var/log
                                      /var/cache/pacman/pkg
                                      /

LUKSに新たに生成した認証鍵ファイルを暗号化ファイルシステムの解除キーとして登録

sudo cryptsetup luksAddKey /dev/nvme0n1p2 /root/luks.key

[sudo] password for [ユーザー]ではsudo実行のために現在のユーザーのパスワード、Enter any existing passphrase:ではLUKSアンロックのためのパスワード(通常どおりOmarchy Macをインストールしたならばユーザーのパスワードと同一)を入力

[sudo] password for [ユーザー]: 
Enter any existing passphrase: 

blkidコマンドで対象のパーティションのUUIDを取得

sudo blkid -s UUID -o value /dev/nvme0n1p2

LUKSパーティションのUUID

7020f832-f927-4982-9d3d-9690e4b826ff

/etc/crypttabファイルを編集し、暗号化解除の設定を追加

sudo nvim /etc/crypttab
/etc/crypttab
cryptroot UUID=[LUKSパーティションのUUID] /root/luks.key luks

mkinitcpioの設定ファイルを修正し、initramfsに生成した認証鍵ファイルが含まれるように指示

/etc/mkinitcpio.conf
# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way.  This is useful for config files.
FILES=(/root/luks.key)

ブートローダーlimine用の設定ファイル生成ルールを編集し、カーネル起動時のパラメーターにcryptkey=rootfs:/root/luks.keyを追加

/etc/default/limine
TARGET_OS_NAME="Omarchy"

ESP_PATH="/boot"

KERNEL_CMDLINE[default]="cryptdevice=PARTUUID=7baf95aa-3fdb-47c4-877f-503179da38fd:root cryptkey=rootfs:/root/luks.key root=/dev/mapper/root zswap.enabled=0 rootflags=subvol=@ rw rootfstype=btrfs"
KERNEL_CMDLINE[default]+="quiet splash"

ENABLE_UKI=yes
CUSTOM_UKI_NAME="omarchy"

ENABLE_LIMINE_FALLBACK=yes

# Find and add other bootloaders
FIND_BOOTLOADERS=yes

BOOT_ORDER="*, *fallback, Snapshots"

MAX_SNAPSHOT_ENTRIES=5

SNAPSHOT_FORMAT_CHOICE=5

mkinitcpioコマンドで初期用initramfsを再生成

sudo mkinitcpio -P

念のためcatコマンドで/boot/limine.confの内容を確認

cat /boot/limine.conf
/boot/limine.conf
comment: machine-id=51d29aad698d4327a397e6bdee45f570 order-priority=50 
  //linux
  ### This kernel entry is auto-generated by limine-entry-tool
  comment: Kernel version: 6.18.3-arch1-1
  comment: kernel-id=linux 
  protocol: efi
  path: boot():/EFI/Linux/omarchy_linux.efi#e901821cbef7b4e6cd8c930f78b7247acead2472b1705c71e46dffb7dc5448e93b8c7fe4ceb345eb799d9321234d99da27de862d5eb507bf0cf62c8d1273210
  cmdline: quiet splash cryptdevice=PARTUUID=50f73da6-41c7-45a2-b924-4c570cb00064:root cryptkey=rootfs:/root/luks.key root=/dev/mapper/root zswap.enabled=0 rootflags=subvol=@ rw rootfstype=btrfs

cmdline: のパラメータにcryptkey=rootfs:/root/luks.keyが含まれていることを確認

再起動

reboot
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?