SSSD + Зашифрованный /home, больше не монтируется автоматически при входе в систему

SSSD + Зашифрованный /home, больше не монтируется автоматически при входе в систему

Я переключил несколько ящиков наССД, поэтому теперь они аутентифицируются на центральном сервере LDAP и кэшируют учетные данные, когда я не в сети. Это работает отлично, и пакеты Ubuntu устанавливаются нормально.

Но теперь, когда я вхожу в систему, мой домашний каталог больше не расшифровывается/монтируется автоматически. Если я выхожу из GDM и вхожу в консоль, я получаю эту ошибку:

keyctl_seach Required key not avaliable

Если я выполню предложенную команду (ecryptfs-mount-private) и введите мой пароль, мой домашний каталог будет разблокирован.

Я пытаюсь понять, как изменился процесс входа, так что мой пароль больше не разблокирует ключ шифрования автоматически. Я думаю, что это проблема PAM, поэтому я включил свой/etc/pam.d/common-authфайл ниже.

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

auth    [success=3 default=ignore]  pam_sss.so
auth    [success=2 default=ignore]  pam_unix.so nullok_secure try_first_pass
auth    [success=1 default=ignore]  pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass

auth    requisite           pam_deny.so
auth    required            pam_permit.so
auth    optional            pam_ecryptfs.so unwrap

ОБНОВЛЕНИЕ 1:

auth.log сообщает об этой ошибке, когда пользователь входит в систему:

login[14202]: NULL passphrase; aborting

Google находит эту ошибку только в источнике pam_ecryptfs.so и срабатывает, когда полученный PAM_AUTHTOK равен NULL:

rc = pam_get_item(pamh, PAM_AUTHTOK, (const void **)&passphrase);
[...]
if (passphrase == NULL) {
    [...]
    syslog(LOG_ERR, "NULL passphrase; aborting\n");
    [...]
}

Так что, по крайней мере, pam_ecryptfs.so вызывается (т.е. он не пропускается из-за наличия SSSD).Однако почему он получает нулевую парольную фразу?


ОБНОВЛЕНИЕ 2:

Теперь, когда я узнал больше о PAM, я обновил пост, добавив копию своегообщая-аутентификацияфайл, так как именно он используется при входе в систему (необщий-пароль)

решение1

Оказывается, ответ был в документации! Мне просто нужно было сначала выяснить, в чем проблема, а затем вернуться к проверке каждого элемента настройки:

http://manpages.ubuntu.com/manpages/natty/man8/pam_sss.8.html

Добавление опции "переслать_пасс" в pam_sss.so сообщает модулю SSSD о необходимости поместить введенную парольную фразу в стек, чтобы другие модули (например, pam_ecryptfs.so) могли использовать эту информацию.

Итак, мой файл /etc/pam.d/common-auth с поддержкой ecryptfs + SSSD выглядит так:

auth    [success=3 default=ignore]  pam_sss.so forward_pass
auth    [success=2 default=ignore]  pam_unix.so nullok_secure try_first_pass
auth    [success=1 default=ignore]  pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass

auth    requisite   pam_deny.so
auth    required    pam_permit.so
auth    optional    pam_ecryptfs.so unwrap

Примечание:Наличие слова «debug» в конце строки pam_ecryptfs.so также приводило к поломке!

Я определенно узнал много нового о PAM, ecryptfs и gnome-keyring сегодня! Надеюсь, это поможет людям в будущем - и я даже могу отправить запрос на функцию, чтобы добавить ее в качестве настройки по умолчанию.

Связанный контент