Winbind / AD:具有相同AD用户名的本地用户

我们正准备将Winbind / Samba添加到一些CentOS服务器。 UNIX的身份pipe理运行在我们的DC上,到目前为止testing结果都很好。 有一种情况我遇到了问题,而且我很确定它是在UID范围内的/etc/pam.d/system-auth中解决的。 我不能在需要的特定线路上找零。 这是情景:

  • 我们通过Puppet部署三个本地用户; 他们必须能够在DCclosures时login。 他们需要是纯粹的本地用户。
  • 这些用户的本地用户名与他们的AD相同(例如,jsmith是CentOS本地用户的名称,而jsmith也是同一用户的AD用户名)
  • 当jsmithlogin时,首先需要在本地查找该用户。
  • 本地用户通常是UID 500,我们的AD / Winbind用户是> UID 10000。

我有一个/etc/pam.d/system-auth,它是由本地用户首先进行身份validation,然后回退到Kerberos(pam_krb5.so)。 我将在这里提供它与pam_krb5.soreplace为pam_winbind.so给你一些开始。 这是几年前拼凑起来的,当我回想起来,为了让它适合我们而做了一些改进。

account required pam_unix.so broken_shadow account sufficient pam_localuser.so account sufficient pam_succeed_if.so uid < 500 quiet account [authinfo_unavail=ignore default=bad success=ok user_unknown=ignore] pam_winbind.so account required pam_permit.so password requisite pam_cracklib.so try_first_pass retry=3 password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok password sufficient pam_winbind.so use_authtok password required pam_deny.so session optional pam_keyinit.so revoke session required pam_limits.so session optional pam_mkhomedir.so umask=0077 session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so session optional pam_winbind.so 

您可以通过cachingwinbind凭证来解决这个问题。 换句话说,您只有AD UID,但是它的凭据被caching,所以即使AD不可用,他仍然可以login。

有关更多信息,请参阅http://wiki.samba.org/index.php/PAM_Offline_Authentication