Отложенный зашифрованный диск LUKS монтирует с подсказкой пароля не явно выяснение у пароля

У меня есть установка ubuntu MATE 18.04 LTS (GNU/Linux 4.15.0-23-универсальный x86_64), я хочу иметь зашифрованный $HOME, в то время как остальное остается незашифрованным. Кроме того, я решил использовать btrfs с zstd алгоритмом сжатия ("почему" выходит за рамки этого вопроса).

Из-за того, как ПК будет использоваться. Существует потребность ожидать Интернета, пока пароль дешифрования не необходим, в которой точке, пароль можно спросить пользователю в любой форме.

Сначала, я встретился с этими признаками:

Если я оставляю целое /home/myUser зашифрованный, я не могу войти в систему. После того, как я заполню пароль, меня оставляют, зависая.... Пока тайм-аута не происходит, и lightdm бросает входить в систему. Если я использую другой tty, меня также оставляют, зависая кроме $HOME, изменяется на "/"

Если я изменяюсь в fstab каталог монтирования к где-нибудь внутри $HOME, Я могу обычно входить в систему, но мне никогда не дают подсказку для заполнения пароля, когда я хочу получить доступ к зашифрованному каталогу (хотя каталог видим при выполнении ls).

После расследования я узнал что:

  1. если я успешно вхожу в систему,
  2. попытайтесь получить доступ /home/myUser/crypt (см. ниже),
  3. затем выполненный systemd-tty-ask-password-agent --query в терминале,

существует пароль, ожидающий, чтобы быть заполненным.

Я также заметил, что, если вместо того, чтобы выполнить терминал, я просто останавливаю lightdm и остаюсь на tty7, текст "Вводит пароль с systemd-tty-ask-password-agent инструментом!" появляется.
В той точке я не могу возвратить к lightdm в этом tty. Вместо этого я должен использовать другой tty, чтобы войти в систему, заполниться, пароль и теперь смонтироваться завершился, и все работает правильно.

Моя цель состоит в том, чтобы иметь подсказку пароля GUI для пароля в то время, когда каталог должен быть смонтирован. Любая программа может инициировать монтирование, но мне нужен пользователь для получения подсказки явно без потребности выполнения дополнительных инструментов.

Я также пытался сделать a keyscript использовать с crypttab, который инициировал бы командную строку и запросил бы пароль, но этому не удавалось запуститься. Я предполагаю, потому что не было никакого файла ключей.


Ниже, я использую noauto,x-systemd.automount но я мог также использовать _netdev и получите почти те же признаки как выше.
При использовании _netdev, единственная разница - то, что подсказка пароля шифрования (как текст) вспышки на экране прямо прежде lightdm запускает Xorg.


/etc/fstab

/dev/mapper/encryptedHome   /home/myUser    btrfs    user,noauto,x-systemd.automount,x-systemd.device-timeout=10,compress=zstd,lazytime,relatime   0 0

/etc/fstab (чередуйте попытку, которая позволяет мне входить в систему):

/dev/mapper/encryptedHome   /home/myUser/crypt    btrfs    user,noauto,x-systemd.automount,x-systemd.device-timeout=10,compress=zstd,lazytime,relatime   0 0

/etc/crypttab

encryptedHome  UUID="92ab7f24-c744-4f1a-8363-c1fa157d1c12"  - luks,noauto

Примечание: В моих флагах запуска Linux я удалил splash опция; из-за этого я вижу весь tty текст, пока Xorg не запускается.

1
задан 9 July 2018 в 00:26

1 ответ

Для многократного использования пароля, Вы вставляете при входе в систему и зашифровали дом, вводя пароль только однажды, одно возможное решение состоит в том, чтобы использовать pam_mount
https://wiki.archlinux.org/index.php/pam_mount

Во-первых, можно установить его использование apt install libpam-mount

Затем необходимо ли настроить pam_mount, что, как предполагается, снова использует пароль.
Для этого создайте файл в /etc/security/pam_mount.conf.xml с содержанием следующим образом:

<volume user="user" fstype="crypt" path="/dev/disk/by-partuuid/96au7f24-gbshmec6wwabhh30" mountpoint="/dev/mapper/user_home"/>
<volume user="user" fstype="auto" path="/dev/mapper/user_home" mountpoint="/home/user"/>

Вы можете делать все со всего одним тегом объема, но я не мог, поскольку я должен был сделать связанное монтирование.

Действительно обратите внимание, что Вы, возможно, должны использовать некоторые опции, устанавливаете как атрибуты volume тег, такой как:

options="bind,rw,user,exec,suid,noauto,lazytime,relatime"

Можно узнать больше того, что каждый находится в mount страницы руководства.

Наконец, создайте файл /etc/pam.d/system-login и запишите следующее:

#%PAM-1.0

auth       required   pam_tally.so         onerr=succeed file=/var/log/faillog
auth       required   pam_shells.so
auth       requisite  pam_nologin.so
auth       optional   pam_mount.so
auth       include    system-auth

account    required   pam_access.so
account    required   pam_nologin.so
account    include    system-auth

password   optional   pam_mount.so
password   include    system-auth

session    optional   pam_loginuid.so
session    optional   pam_keyinit.so       force revoke
session [success=1 default=ignore]  pam_succeed_if.so  service = systemd-user quiet
session    optional   pam_mount.so
session    include    system-auth
session    optional   pam_motd.so          motd=/etc/motd
session    optional   pam_mail.so          dir=/var/spool/mail standard quiet
-session   optional   pam_systemd.so
session    required   pam_env.so

Я не знаю точно, что каждый из них делает индивидуально, но это - то, что я должен был иметь там, таким образом, монтирование успешно выполнится, как я хотел.

0
ответ дан 8 December 2019 в 00:20

Другие вопросы по тегам:

Похожие вопросы: