pam_mount (Русский)

pam_mount можно использовать для автоматического монтирования зашифрованного домашнего раздела (зашифрованного, например, с помощью LUKS или eCryptfs) при входе пользователя в систему. Он будет монтировать /home (или любую другую желаемую точку монтирования) при входе в систему через менеджер входа или при входе в консоль. Пароль от зашифрованного диска должен совпадать с паролем пользователя Linux, поэтому вам не придётся вводить два разных пароля для входа в систему.

Примечание: pam_mount также может размонтировать разделы после завершения последнего сеанса, но это не работает из коробки из-за использования pam_systemd.so в стеке pam, смотрите Talk:Pam mount#automatic unmounting and systemd.
Состояние перевода: На этой странице представлен перевод статьи pam_mount. Дата последней синхронизации: 24 июля 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Настройка

Установите пакет pam_mount.

Настройки модуля находятся в файле /etc/security/pam_mount.conf.xml, документация по нему доступна в pam_mount.conf(5). Отредактируйте файл следующим образом:

/etc/security/pam_mount.conf.xml
  <!-- Общий пример для зашифрованного раздела -->
  <volume user="''ПОЛЬЗОВАТЕЛЬ''" fstype="auto" path="/dev/''sdaX''" mountpoint="/home" options="fsck,noatime" />
  
  <!-- Пример использования CIFS -->
  <volume
      fstype="cifs"
      server="''server.example.com''"
      path="''имя_ресурса''"
      mountpoint="~/mnt/''имя_ресурса''"
      uid="10000-19999"
      options="sec=krb5i,vers=3.0,cruid=%(''UIDПОЛЬЗОВАТЕЛЯ'')"
  />
  <mkmountpoint enable="1" remove="true" />

</pam_mount>

Примечания:

  • Добавьте два переноса строки в конце файла, но перед последним закрывающим тегом .
  • Замените на имя вашего пользователя.
  • Замените на соответствующее устройство или файл-контейнер.
  • fstype="auto" можно заменить на любой тип, для которого существует исполняемый файл . Значение должно работать в большинстве случаев. Используйте , чтобы loop-устройство закрывалось при выходе из системы, для томов, нуждающихся в этом.
  • Добавьте параметры монтирования по необходимости. Имейте в виду, что не обращается к файлу , поэтому вся нужная для подключения информация должна быть указана прямо в параметрах монтирования. В данном примере соответствует локальному параметру «idmap config ... : range =», чтобы pam_mount не вызывался для пользователя, работающего только под Unix. Kerberos обозначается как krb5, SMB3.0 указывается потому, что другой конец может не поддерживать SMB1, который используется по умолчанию. Подпись включается с помощью буквы i на конце krb5i. Смотрите для более подробной информации.

Тома LUKS

Тома, зашифрованные с помощью LUKS, можно настроить примерно так:

Разблокировка и монтирование тома выполняются с помощью mount.crypt, подробное описание опций доступно в .

Тома VeraCrypt

pam_mount не поддерживает VeraCrypt напрямую, но есть обходной путь:

/etc/security/pam_mount.conf.xml
<volume user="''пользователь''" fstype="crypt" path="/dev/disk/by-partuuid/''uuid_раздела''" mountpoint="''vcrypt''"/>
<volume user="''пользователь''" fstype="auto" path="/dev/mapper/''vcrypt''" mountpoint="/media/''точка_монтирования''"/>

<cryptmount>cryptsetup --veracrypt open --type tcrypt %(VOLUME) %(MNTPT)</cryptmount>
<cryptumount>cryptsetup close %(MNTPT)</cryptumount>

Если у вас также есть тома LUKS, вы можете использовать другой fstype для тома Veracrypt вместо и cryptmount/cryptumount, например, и . Только убедитесь, что вы не используете файловую систему NCP.

Шифрование F2FS

Существует трюк, чтобы заставить pam_mount добавить ключ расшифровки F2FS в список ключей вашего сеанса. Соль, которую вы выбрали при шифровании каталога(ов) с помощью f2fscrypt, должна совпадать с солью в /etc/security/pam_mount.conf.xml (0x1111 в примере ниже), а пароль должен совпадать с паролем пользователя. Этот пример предполагает, что вы не монтируете файловые системы FUSE с помощью pam_mount. Если всё-таки монтируете, то выберите другую пару тегов вместо и , например .

не делает ничего, кроме запуска команд, прописанных в  и . После входа в систему вы можете проверить, что в вашей связке ключей есть ключ расшифровки F2FS:
$ keyctl show
Session Keyring
 910133222 --alswrv   1000   100  keyring: _ses
 301049775 --alswrv   1000 65534   \_ keyring: _uid.1000
 013481035 --alsw-v   1000   100   \_ logon: f2fs:2e64cf4a5bafcd7

Настройка менеджера входа

В общем, вам нужно отредактировать файлы настроек в так, чтобы pam_mount вызывался при входе в систему. Важен правильный порядок записей в каждом файле. Необходимо отредактировать /etc/pam.d/system-login как показано ниже. Если вы используете экранный менеджер, убедитесь, что его файл настроек pam включает в себя . Примеры настроек приведены ниже, добавленные строки выделены жирным шрифтом.

Строка перед в сессии пропускает ( означает пропуск следующих строк), если через стек PAM запускается пользовательская служба systemd (то есть ). Это позволяет избежать двойных попыток монтирования и ошибок, связанных со сбросом привилегий при запуске экземпляра . Смотрите и для подробностей.

This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.