그래서 별도의 루트 파티션과 메인 파티션(그리고 스왑 및 부팅 ofc)을 사용하여 Arch Linux를 설치하려고 했습니다. 기본적으로 저는 그것들을 분할했고, 마운트했고, 암호화했고 /
( /home
사용했습니다 cryptsetup luksFormat
). 다음과 같습니다 lsblk
.
(죄송합니다. 현재 단계에서는 가상 머신에서 텍스트를 복사하는 것이 불가능합니다.)
이제 나는 다음을 달성하려고 노력하고 있습니다.
- 각 파티션의 비밀번호를 입력할 필요 없이 시스템 시작 시 모든 파티션의 암호를 해독하고 싶습니다. (하지만 동일하게 설정했습니다.)
- 암호화된 파티션에 대해 GRUB를 구성하고 싶지만 지금까지 구성만 봤고 구성이
GRUB_CMDLINE_LINUX="cryptdevice=/dev/sdXY:cryptroot"
두 개이므로 여기에 무엇을 넣어야 할지 잘 모르겠습니다(아마 하나만/
?)
이제 실행하고 싶지만 올바른 GRUB 구성이 없으면 시스템을 부팅하지 못할 수 있기 mkinitcpio
때문에 실행할 수 없는 단계에 갇혔습니다.grub-install/grub-mkconfig
내가 어떻게 이것을 달성할 수 있는지 아시나요? 두 번째 질문은 첫 번째 질문에 대한 문서가 있기 때문에 더 중요하며, 지난 두 시간 동안 머리를 긁적이었던 두 번째 질문에 대한 간략한 제안을 얻기 위해 이 질문을 거기에 게시하고 싶다고 생각했습니다.
답변1
Unix 및 Linux StackExchange에 오신 것을 환영합니다!
생성된 initramfs 파일의 목적은 mkinitcpio
루트 파일 시스템을 잠금 해제하고 마운트하는 것입니다. 다른 파일 시스템 마운트는 /home
루트 파일 시스템이 잠금 해제되고 마운트된 후 부팅 프로세스 후반에 발생합니다. GRUB은 /home
파일 시스템에 대해 아무것도 알 필요가 없습니다 .
이 cryptdevice
옵션은 루트 파일 시스템의 암호화를 잠금 해제하는 데 사용되는 initramfs 파일의 스크립트에 정보를 제공합니다. 나중에 시스템 구성이 변경되면 암호화된 루트 파일 시스템을 보유하는 것으로 간주되는 장치의 이름을 쉽게 변경할 수 있습니다. 시스템 구성의 예기치 않은 변경에 대해 견고성을 유지하기 위해 실제로 UUID=<UUID_of_sda3>
장치 이름 대신 구문을 사용할 수 있습니다 .
/home
따라서 루트 파일 시스템 어딘가에 저장된 키 파일을 사용하는 암호화를 구성할 수 있습니다. 키 파일은 암호화된 파티션 내에 위치하므로 시스템이 실행되지 않을 때에도 보호됩니다. 루트 파일 시스템에 액세스할 수 있게 되면 /etc/crypttab
파일을 참조할 수 있으므로 /home
파일 시스템의 암호화가 자동으로 잠금 해제될 수 있습니다.
~에 따르면Arch Wiki의 crypttab 섹션/home
, 파일 시스템 항목은 /etc/crypttab
다음과 같습니다.
crypthome /dev/sda4 /etc/cryptsetup-keys.d/crypthome.key
UUID=<UUID of sda4>
장치 이름 대신 이를 사용할 수도 있습니다 .
/etc/cryptsetup-keys.d/
루트()만 액세스할 수 있는지 확인 chmod 700
하고 파일 시스템의 비밀번호를 파일에 기록 /home
합니다 crypthome.key
. 침입자가 이 내용을 읽을 수 있다면 이는 침입자가 유효한 루트 액세스 권한을 가지고 있다는 의미이므로 입력했든 cryptsetup
파일에서 검색했든 관계없이 침입자에게 이메일로 전송된 암호로 명령을 대체할 수 있으므로 어쨌든 이 시점에서는 더 큰 우려가 있습니다.