Поиск по сайту:

Как установить Arch Linux с полным шифрованием диска


На этой странице

  1. Ссылки

В сегодняшнем уроке мы собираемся установить Arch Linux с полным шифрованием диска.

Прежде чем мы продолжим, я хочу, чтобы вы сделали резервную копию существующих данных.

В предыдущем уроке мы узнали, что такое dm-crypt и LUKS и как зашифровать один раздел диска. В то время как в сегодняшнем посте мы будем использовать немного другой подход, чтобы зашифровать весь диск с помощью dm-crypt LUKS и установить на него Archlinux.

Начнем с очистки диска. Запустите lsblk, чтобы найти основной диск и заменить /dev/sda там, где это необходимо:

shred --verbose --random-source=/dev/urandom --iterations=3 /dev/sda

Я выполнил указанную выше команду с параметром --iterations=15 на своем твердотельном накопителе емкостью 120 ГБ и завершил ее через 7 часов.

После этого разделите диск. Если ваша материнская плата не использует прошивку UEFI, обязательно выберите метку dos (msdos), в противном случае используйте gpt при вводе:

cfdisk /dev/sda

После этого создайте раздел загрузчика:

New-> Partition Size: 100M -> primary -> Bootable

Последним будет корневой раздел. Размер раздела должен быть автоматически установлен на оставшееся свободное место.

New-> Partition Size: xxxGB -> primary

Запишите изменения и выйдите из cfdisk.

Чтобы загрузить ваш зашифрованный корневой раздел, раздел загрузчика /dev/sda1, который будет смонтирован в /boot, не будет зашифрован. В конце этого поста я размещу пару ссылок, которые помогут вам зашифровать и даже переместить загрузочный раздел на CD/DVD/USB.

Создайте устройство сопоставления криптографических устройств в режиме шифрования LUKS:

cryptsetup --verbose --cipher aes-xts-plain64 --key-size 512 --hash sha512 --iter-time 5000 --use-random luksFormat /dev/sda2

Разблокируйте раздел, обратите внимание, что cryptroot будет именем устройства сопоставления, с которым мы будем работать.

cryptsetup open --type luks /dev/sda2 cryptroot

Создайте загрузочную и корневую файловые системы:

mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/mapper/cryptroot

Установите их:

mount -t ext4 /dev/mapper/cryptroot /mnt
mkdir -p /mnt/boot
mount -t ext4 /dev/sda1 /mnt/boot

Установите базовую и базовую системы разработки:

pacstrap -i /mnt base base-devel

Сгенерируйте fstab:

genfstab -U -p /mnt >> /mnt/etc/fstab

Chroot для настройки базовой системы:

arch-chroot /mnt

Раскомментируйте локаль en_US:

sed -i 's/#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/g' /etc/locale.gen

Создайте локаль:

locale-gen

Создайте файл конфигурации, который будет указывать системе, какой языковой стандарт следует использовать:

echo LANG=en_US.UTF-8 > /etc/locale.conf

Экспорт локали

export LANG=en_US.UTF-8

Создайте символическую ссылку с нужным часовым поясом:

ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime

Установите аппаратные часы на UTC:

hwclock --systohc --utc

Установите желаемое имя хоста:

echo CookieMonster > /etc/hostname

Установите пароль root:

passwd

Добавьте системного пользователя:

useradd -m -g users -G wheel,games,power,optical,storage,scanner,lp,audio,video -s /bin/bash username

Установите пароль пользователя системы:

passwd username

Установите sudo (base-devel) и загрузчик grub и os-prober:

pacman -S sudo grub-bios os-prober

Разрешить системному пользователю использовать sudo и запускать команды (временно) от имени пользователя root:

EDITOR=nano visudo

Нажмите CTRL + W и введите колесо, затем раскомментируйте следующую строку:

Добавьте следующий параметр ядра, чтобы иметь возможность разблокировать зашифрованный корневой раздел LUKS во время запуска системы:

Добавьте хук шифрования:

Так как мы добавили новый хук в конфигурационный файл mkinitcpio, мы должны повторно сгенерировать наш образ initrams (ramdisk):

mkinitcpio -p linux

Установите grub и сохраните его файл конфигурации:

grub-install --recheck /dev/sda
grub-mkconfig --output /boot/grub/grub.cfg

Выходим из chroot, размонтируем разделы, закрываем устройство и перезагружаемся (извлекаем установочный носитель):

exit
umount -R /mnt/boot
umount -R /mnt
cryptsetup close cryptroot
systemctl reboot

Как только вы введете свой пароль и войдете в систему как системный пользователь, запустите dhcpcd.

sudo systemctl start dhcpcd
ping -c2 youtube.com

Установите Xorg и скопируйте .xinitrc в каталог $HOME:

sudo pacman -S xorg-server xorg-server-utils xorg-xinit mesa xterm xorg-twm xorg-xclock
cp /etc/X11/xinit/xinitrc ~/.xinitrc

Существует специальная вики-страница, содержащая полезную информацию о драйверах графического процессора, проверьте ее https://wiki.archlinux.org/index.php/xorg#Driver_installation и, если это произойдет, ваш бренд графического процессора будет amd/ati, intel или nvidia устанавливает соответствующие драйверы, перечисленные там.

Введите startx, и вы должны увидеть пару терминалов рядом, теперь введите exit

Прокомментируйте следующие строки в .xinitrc и добавьте некоторые, чтобы указать, что мы хотим, чтобы среда рабочего стола xfce запускалась после успешного входа в систему:

Установите xfce, внешний дисплейный менеджер и сетевой менеджер:

sudo pacman -S slim archlinux-themes-slim xfce4 networkmanager network-manager-applet

Замените тонкую тему по умолчанию:

Остановить dhcpcd, включить slim, включить NetworkManager, startx:

sudo systemctl stop dhcpcd
sudo systemctl enable NetworkManager
sudo systemctl enable slim
startx

Вот и все, надеюсь, вам понравился этот пост.

Если вам когда-нибудь удастся испортить вашу систему и вам придется использовать chroot со съемного носителя, порядок такой:

cryptsetup open --type luks /dev/sda2 cryptroot
mount -t ext4 /dev/mapper/cryptroot /mnt
mount -t ext4 /dev/sda1 /mnt/boot
arch-chroot /mnt

Чтобы размонтировать их:

umount -R /mnt/boot
umount -R /mnt
cryptsetup close cryptroot

Ссылки

Обещанные ссылки, читайте внимательно 8-ю и 9-ю ссылки, если у вас есть SSD:

  • ссылка 1
  • ссылка 2
  • ссылка 3
  • ссылка 4
  • ссылка 5
  • ссылка 6
  • ссылка 7
  • ссылка 8
  • ссылка 9
  • ссылка 10