Как смонтировать/разблокировать свой пользовательский (!) каталог ecryptfs при входе в систему?

Я думаю, что для этого мне нужно добавить ключ из набора ключей пользователя в набор ключей ядра при входе в систему, но позвольте мне просто объяснить все это:

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

2011: К сожалению, в настоящее время мы не создаем ecryptfs для SSL из-за несовместимости лицензий (как указано ниже). Однако я оставлю эту ошибку открытой и попытаюсь разобраться с ней.

2012: улучшение этой функции в ближайшем будущем не планируется. Это значительный объем работы, однако разработчики не проявили интереса к этой функции.

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

Для других целей (например, LUKS) вы можете просто сохранить ключ/фразу-пароль в связке ключей пользователя. Но поскольку ecryptfs работает в ядре, этот ключ нужно хранить в kernel keyring, а не в user keyring.

Вручную вы добавили бы ключ в связку ключей ядра, используя ecryptfs-add-passphrase или ecryptfs-manager, после чего вы можете монтировать и размонтировать каталог ecryptfs столько раз, сколько захотите. Но после перезагрузки этот ключ снова пропал, и не зря.

Но я хочу, чтобы он автоматически возвращался после входа в систему с моим пользователем, чтобы я мог снова смонтировать/размонтировать каталог ecryptfs без необходимости вводить его пароль. Как я могу это сделать?

обновить

В Archlinux разработан инструмент под названием ecryptfs-simple. специально для этой цели: ecryptfs-simple — это утилита для пользователей, которые хотят работать с eCryptfs максимально простым способом. Идея состоит в том, чтобы сделать eCryptfs таким же простым в использовании, как и EncFS.

По-видимому, вы можете настроить автоматическое монтирование с помощью ecryptfs-simple -a, но этот инструмент недоступен для Ubuntu, и я не знаю, выдержит ли эта установка перезагрузку.


person Redsandro    schedule 03.01.2013    source источник


Ответы (2)


Похоже, вы хотите манипулировать клавишами, поэтому keyctl может быть вашим предпочтительным оружием. Если вы не имеете в виду какую-то другую связку ключей Ubuntu, с которой я не знаком. Из man keyctl я могу скопировать ключ из набора ключей root/sudo/(kernel?) в свой пользовательский набор ключей с помощью этой команды, что-то подобное должно работать для вас:

канал sudo keyctl (wantedkeyid#) | Пользователь keyctl padd newkeydesc @u

И, возможно, вы уже читали отличную статью ArchWiki об использовании eCryptfs. https://wiki.archlinux.org/index.php/System_Encryption_with_eCryptfs#Автоматическоемонтирование В нем есть информация об использовании инструментов Ubuntu или eCryptfs вручную, а также раздел об автоматическом монтировании (с помощью PAM). Или, может быть, простой скрипт bash для ecryptfs-add-passphrase (чтения вашего ключевого файла) и mount вашей папки будет проще? И сам ecryptfs поддерживает чтение парольной фразы из файла тоже с помощью passphrase_passwd_file=, см. man ecryptfs

person Xen2050    schedule 12.03.2014

Вам нужно где-то сохранить парольную фразу, и тогда вы сможете автоматически смонтировать файловую систему. Но, наверное, это плохая идея — сохранять ключ локально.

person Igor Chubin    schedule 03.01.2013
comment
Именно, я хочу хранить его в мой связке ключей, которая была придумана именно для надежного запоминания паролей и которая защищена моим зашифрованным домом. Проблема в том, что этот ключ попадает в связку ключей ядра после того, как пользовательская связка ключей разблокирована. - person Redsandro; 03.01.2013
comment
Хорошо, теперь я понял проблему. Перед выходом из системы необходимо сохранить значение переменной среды, указывающей на связку ключей, а после входа восстановить ее. - person Igor Chubin; 03.01.2013