getent passwd 只输出本地用户

jgi*_*ich 9 linux centos samba active-directory

我想通过 CentOS 6.4 服务器上的 Active Directory 进行身份验证。

wbinfo -uwbinfo -g显示域用户/组。通过wbinfo -a DOMAIN+user作品认证。通过kinit user作品认证。

但出于某种原因,getent passwdgetent group只显示本地用户/组。我找到了很多关于这个主题的论坛帖子,但没有一个提供有效的解决方案。

这是我的/etc/samba/smb.conf

[global]
        workgroup = DOMAIN
        realm = DOMAIN.LOCAL
        security = ADS
        max log size = 50
        template shell = /bin/bash
        winbind separator = +
        winbind enum users = Yes
        winbind enum groups = Yes
        winbind use default domain = Yes
        idmap config DOMAIN : schema_mode = rfc2307
        idmap config DOMAIN : range = 10000000-29999999
        idmap config DOMAIN : default = yes
        idmap config DOMAIN : backend = ad
        idmap config * : range = 20000-29999
        idmap config * : backend = tdb
Run Code Online (Sandbox Code Playgroud)

/etc/krb5.conf

[libdefaults]
 default_realm = DOMAIN.LOCAL
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true

[realms]
 DOMAIN.LOCAL = {
  kdc = ADSERVER.DOMAIN.LOCAL
  admin_server = ADSERVER.DOMAIN.LOCAL
 }
Run Code Online (Sandbox Code Playgroud)

/etc/nsswitch.conf

passwd:     files winbind
shadow:     files winbind
group:      files winbind
Run Code Online (Sandbox Code Playgroud)

AD 服务器运行 Windows Small Business Server 2008。

aci*_*dtv 16

我有同样的问题。就我而言,结果是我忘记在 Ubuntu 上安装 libnss-winbind 和 libpam-winbind 软件包。

希望这可以帮助在这里解决这个问题的人;)

  • 您的回答,无论是否真实,实际上都对我有所帮助。由于默认情况下未安装这两个库,因此很容易被忽略,我很高兴有人花时间将其发布到您在寻找该问题的答案时最终遇到的地方。 (4认同)

jgi*_*ich 4

我使用的是backend = ad,这需要在 AD 服务器上进行额外的配置。我真正想要的是backend = rid,现在一切都很好。