Назад | Перейти на главную страницу

Сделать домашний каталог пользователя при входе в gdm

Я пытаюсь создать домашний каталог для входа в 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 модуль полезный; он может позволить вам точно определить, какой путь вы хотите использовать для аутентификации.