在 gdm 登录时创建用户主目录

在 gdm 登录时创建用户主目录

我正在尝试在(RADIUS)用户 gdm 登录时创建主目录。

身份验证工作正常,但是当我尝试时,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/通用帐户

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/登录

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

答案1

请原谅我问了这么愚蠢的问题,但是你安装了libpam-modules包含的软件包pam_mkhomedir.so吗?它在我的 Ubuntu 副本上没有默认安装。

如果失败,您可能想尝试将行移至/etc/pam.d/common-session,以防配置文件未按您期望的顺序调用。您的语法看起来正确,因此一旦您准备好所有部分,它应该可以工作。

您可能还会发现pam_debug模块很有用;它可以让您精确地塑造您希望身份验证采取的路径。

答案2

我已经注意到,真正的问题是计费/会话失败,因为 radius 用户没有进入/etc/passwd

我目前正在尝试通过插件添加用户libpam_script.so。也许这是解决方案 ;)

相关内容