
Я переключил несколько ящиков наССД, поэтому теперь они аутентифицируются на центральном сервере 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 сегодня! Надеюсь, это поможет людям в будущем - и я даже могу отправить запрос на функцию, чтобы добавить ее в качестве настройки по умолчанию.