Я пытаюсь создать домашний каталог для входа в gdm пользователя (RADIUS).
Auth работает правильно, но когда я пытаюсь использовать gdm, он сообщает, что у пользователя нет домашнего каталога.
Я пытался сделать это с pam_mkhomedir.so
но не работает.
Мой файл /etc/pam.d/gdm:
PAM-1.0
auth sufficient pam_radius_auth.so
auth sufficient pam_nologin.so
auth sufficient pam_env.so readenv=1
auth sufficient pam_env.so readenv=1 envfile=/etc/default/locale
auth sufficient pam_succeed_if.so
@include common-auth
auth optional pam_gnome_keyring.so
account sufficient pam_radius_auth.so
@include common-account
session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so close
session optional pam_limits.so
@include common-session
session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so open
session optional pam_gnome_keyring.so auto_start
session required pam_mkhomedir.so skel=/etc/skel umask=0022
@include common-password
Выкладываю файлы конфигурации:
/etc/pam.d/common-account
account sufficient pam_radius_auth.so
session required pam_mkhomedir.so
account [success=1 new_authtok_reqd=done default=ignore] pam_unix.so
account requisite pam_deny.so
account required pam_permit.so
/etc/pam.d/common-auth
auth [success=1 default=ignore] pam_unix.so nullok_secure
auth requisite pam_deny.so
auth required pam_permit.so
/etc/pam.d/common-session
session [default=1] pam_permit.so
session requisite pam_deny.so
session required pam_permit.so
session required pam_mkhomedir.so
session required pam_unix.so
session optional pam_ck_connector.so nox11
/etc/pam.d/gdm
auth sufficient pam_radius_auth.so debug
auth requisite pam_nologin.so
auth sufficient pam_env.so readenv=1
auth sufficient pam_env.so readenv=1 envfile=/etc/default/locale
auth sufficient pam_succeed_if.so user ingroup nopasswdlogin
@include common-auth
auth optional pam_gnome_keyring.so
account sufficient pam_radius_auth.so
@include common-account
session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so close
session required pam_limits.so
session sufficient pam_mkhomedir.so skel=/home/formacio umask=0022
@include common-session
session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so open
session optional pam_gnome_keyring.so auto_start
@include common-password
/etc/pam.d/login
auth required pam_securetty.so
auth requisite pam_nologin.so
session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so close
session required pam_env.so readenv=1
session required pam_env.so readenv=1 envfile=/etc/default/locale
# Standard Un*x authentication.
@include common-auth
auth optional pam_group.so
session required pam_limits.so
session optional pam_lastlog.so
session optional pam_motd.so
session optional pam_mail.so standard
# Standard Un*x account and session
@include common-account
@include common-session
@include common-password
session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so open
Я уже заметил, что настоящая проблема заключается в том, что учет / сеанс не работает, потому что у пользователя радиуса нет записи в /etc/passwd
Я сейчас пытаюсь сделать adduser libpam_script.so
плагин. Может это решение;)
Простите за глупый вопрос, но вы установили libpam-modules
пакет, содержащий pam_mkhomedir.so
? Он не установлен по умолчанию в моей копии Ubuntu.
В противном случае вы можете попробовать переместить линию на /etc/pam.d/common-session
на всякий случай, если файлы конфигурации вызываются не в ожидаемом вами порядке. Ваш синтаксис выглядит правильно, поэтому он должен работать, когда вы соберете все части на свои места.
Вы также можете найти pam_debug модуль полезный; он может позволить вам точно определить, какой путь вы хотите использовать для аутентификации.