more pretty md files

This commit is contained in:
2016-02-02 00:55:13 +07:00
parent c0ad1a6912
commit 518956bdff
39 changed files with 1550 additions and 484 deletions

View File

@ -7,7 +7,9 @@ tags: linux, systemd, ecryptfs
title: Как зашифровать хомяк и не об%$#аться. For dummies
short: ecnryption-home-directory
---
<figure class="img">![single-door](/resources/papers/single-door.jpg)</figure> Статья посвящена шифрованию домашнего каталога с использованием ecryptfs и настройке автомонтирования посредством systemd с использованием ключа на флешке.
<figure class="img">![single-door](/resources/papers/single-door.jpg)</figure> Статья
посвящена шифрованию домашнего каталога с использованием ecryptfs и настройке
автомонтирования посредством systemd с использованием ключа на флешке.
<!--more-->
@ -26,7 +28,10 @@ short: ecnryption-home-directory
## <a href="#step1" class="anchor" id="step1"><span class="octicon octicon-link"></span></a>Шаг 1: Шифрование
Самое распространенное решение в интернетах - воспользоваться автоматическими тулзами. Однако в нашем случае они не подходят, так как нам необходимо импортировать сигнатуру ключа / пароля, что при данном решении невозможно (или у автора руки кривые).
Самое распространенное решение в интернетах - воспользоваться автоматическими
тулзами. Однако в нашем случае они не подходят, так как нам необходимо
импортировать сигнатуру ключа / пароля, что при данном решении невозможно (или
у автора руки кривые).
Делается шифрование следующим образом (lol):
@ -34,7 +39,10 @@ short: ecnryption-home-directory
mount -t ecryptfs /home/$USER /home/$USER
```
В процессе он у нас задаст несколько вопросов (я предлагаю первое монтирование делать в интерактивном режиме). Ответы можно взять примерно такие (в комментариях показано, что эти опции делают), обратите внимание, что если вы что то измените, то изменится и некоторые строчки далее:
В процессе он у нас задаст несколько вопросов (я предлагаю первое монтирование
делать в интерактивном режиме). Ответы можно взять примерно такие (в
комментариях показано, что эти опции делают), обратите внимание, что если вы что
то измените, то изменится и некоторые строчки далее:
```bash
# ключ или сертификат. Второе надежнее, но до тех пор пока не потеряете %)
@ -93,25 +101,31 @@ cp -a /home/$USER-org/. /home/$USER
## <a href="#step2" class="anchor" id="step2"><span class="octicon octicon-link"></span></a>Шаг 2: Автомонтирование с systemd
Создадим файл на флешке (я использовал microSD) со следующим содержанием (пароль только поставьте свой):
Создадим файл на флешке (я использовал microSD) со следующим содержанием (пароль
только поставьте свой):
```bash
passphrase_passwd=someverystronguniqpassword
```
Добавим автомонтирование флешки (направление `/mnt/key`) в `fstab` с опцией `ro`, например так:
Добавим автомонтирование флешки (направление `/mnt/key`) в `fstab` с опцией `ro`,
например так:
```bash
UUID=dc3ecb41-bc40-400a-b6bf-65c5beeb01d7 /mnt/key ext2 ro,defaults 0 0
```
Теперь настроим монтирование хомяка. Опции монтирования можно подглядеть как то так:
Теперь настроим монтирование хомяка. Опции монтирования можно подглядеть как то
так:
```bash
mount | grep ecryptfs
```
Однако замечу, что там указаны не все опции, необходимо добавить также `key`, `no_sig_cache`, `ecryptfs_passthrough`. Таким образом, для systemd mount-юнит выглядит примерно так (любители shell-простыней смогут написать свой демон, потому что через `fstab` не сработает просто так (см. ниже)).
Однако замечу, что там указаны не все опции, необходимо добавить также `key`,
`no_sig_cache`, `ecryptfs_passthrough`. Таким образом, для systemd mount-юнит
выглядит примерно так (любители shell-простыней смогут написать свой демон,
потому что через `fstab` не сработает просто так (см. ниже)).
```bash
# cat /etc/systemd/system/home-$USER.mount
@ -129,7 +143,9 @@ Options=rw,nosuid,nodev,relatime,key=passphrase:passphrase_passwd_file=/mnt/key/
WantedBy=local-fs.target
```
`XXXXX` нужно заменить на сигнатуру из опций, с которыми сейчас смонтирована директория. Также нужно вставить имя пользователя и отредактировать путь к файлу с паролем (и имя mount-юнита), если это необходимо. Автозагрука:
`XXXXX` нужно заменить на сигнатуру из опций, с которыми сейчас смонтирована
директория. Также нужно вставить имя пользователя и отредактировать путь к файлу
с паролем (и имя mount-юнита), если это необходимо. Автозагрука:
```bash
systemctl enable home-$USER.mount
@ -158,17 +174,25 @@ WantedBy=local-fs.target
systemctl enable umount-key.service
```
Перезагружаемся, если все ок, удаляем бекап. Если нет - значит что то где то неправильно сделали, восстанавливаем из режима восстановления.
Перезагружаемся, если все ок, удаляем бекап. Если нет - значит что то где то
неправильно сделали, восстанавливаем из режима восстановления.
## <a href="#whynotfstab" class="anchor" id="whynotfstab"><span class="octicon octicon-link"></span></a>Почему не fstab?
В моем случае, мне не получилось заставить флешку монтироваться раньше. Таким образом на загрузке я попадал в консоль восстановления из которой нужно было просто продолжить загрузку. Существующие в интернете методы предлагают два возможных варианта:
В моем случае, мне не получилось заставить флешку монтироваться раньше. Таким
образом на загрузке я попадал в консоль восстановления из которой нужно было
просто продолжить загрузку. Существующие в интернете методы предлагают два
возможных варианта:
* Создать запись с опцией noauto, потом монтировать через специальную запись в `rc.local`.
* Создать запись с опцией nofail, потом перемонтировать все разделы через `rc.local`.
* Создать запись с опцией noauto, потом монтировать через специальную запись в
`rc.local`.
* Создать запись с опцией nofail, потом перемонтировать все разделы через
`rc.local`.
Оба варианта меня не устроили в виду их костыльности.
## <a href="#whynotpam" class="anchor" id="whynotpam"><span class="octicon octicon-link"></span></a>Почему не pam?
Другое распространенное предложение - монтировать через запись в настройках pam. Мне этот вариант не подходит, так как у меня авторизация беспарольная по отпечатку пальца.
Другое распространенное предложение - монтировать через запись в настройках pam.
Мне этот вариант не подходит, так как у меня авторизация беспарольная по
отпечатку пальца.