升级到 14.04 后 Samba/Winbind Active Directory 身份验证中断

voc*_*der 4 upgrade samba active-directory 14.04

我在 Ubuntu 桌面 12.04 上使用 samba/winbind/krb5 将它加入域 - 运行良好,没有任何问题,我可以使用我的活动目录帐户登录我的计算机。我升级到 14.40,它似乎坏了。似乎 14.04 已升级到 Samba4,我不确定这是否是问题。我对我的 smb.conf 文件进行了一些更改,这些更改似乎是 Samba4 更改 - 这允许我使用 net ads join -U 用户名加入域 - 工作正常......我的计算机已加入域 - 我可以使用 kerberos 获取票证并查看它是否有效。但是,当我退出本地帐户并尝试使用域帐户重新登录时,它总是告诉我密码无效。有任何想法吗?在我的 smb.conf 文件上运行 testparm 后,它告诉我 idmap uid 和 idmap gid 不再使用...... 它还告诉我,不应将“security=ads”与“密码服务器”结合使用。我想知道是不是这个问题。

编辑:可能与我的 pam.d 文件有关 - 我刚刚进行了 14.04 的全新安装并且无法登录......它甚至没有问我密码......如果我,它就会消失回到默认的 pam 文件 - 这是我所拥有的

/etc/pam.d/common-account:

    account sufficient pam_winbind.so
    account required pam_unix.so
Run Code Online (Sandbox Code Playgroud)

/etc/pam.d/common-auth:

    auth sufficient pam_winbind.so
    auth required pam_unix.so nullok_secure use_first_pass
Run Code Online (Sandbox Code Playgroud)

/etc/pam.d/common-password:

    password required pam_unix.so nullok obscure min=4 max=50 md5
Run Code Online (Sandbox Code Playgroud)

/etc/pam.d/common-session:

    session required pam_mkhomedir.so umask=0022 skel=/etc/skel
Run Code Online (Sandbox Code Playgroud)

这是我的测试/etc/samba/smb.conf:

    [global]

    workgroup = MYDOMAIN
    security = ADS
    realm = MYDOMAIN.COM
    netbios name = trusty

    idmap config *:backend = tdb
    idmap config *:range = 70001-80000
    idmap config MYDOMAIN:backend = ad
    idmap config MYDOMAIN:schema_mode = rfc2307
    idmap config MYDOMAIN:range = 500-40000

    winbind nss info = rfc2307
    [test]
    path = /srv/samba/test
    read only = no
Run Code Online (Sandbox Code Playgroud)

这是我的 /etc/krb5.conf

    [libdefaults]
    default_realm = MYDOMAIN.COM
    ticket_lifetime = 24000
    allow_weak_crypto = yes
    [realms]
    MYDOMAIN.COM = {
            kdc = my.domain.com
            admin_server = my.domain.com
            default_domain = MYDOMAIN.COM
    }


    [domain_realm]
    .mydomain.com = MYDOMAIN.COM
    mydomain.com = MYDOMAIN.COM
    [login]
    krb4_convert = true
    krb4_get_tickets = false
Run Code Online (Sandbox Code Playgroud)

/etc/nsswitch.conf

    passwd:         compat winbind
    group:          compat winbind
    shadow:         compat winbind

    hosts:          files mdns4_minimal [NOTFOUND=return] dns wins
    networks:       files

    protocols:      db files
    services:       db files
    ethers:         db files
    rpc:            db files

    netgroup:       nis
Run Code Online (Sandbox Code Playgroud)

编辑:最后一件事......我注意到如果我输入pam-auth-update,我看不到为活动目录或ldap启用pam配置文件的能力......我发誓在12.04中存在...... .?

gre*_*rcy 7

getent passwd
Run Code Online (Sandbox Code Playgroud)

返回任何东西?

怎么样

wbinfo -u
Run Code Online (Sandbox Code Playgroud)

我正在做同样的事情,对我来说 wbinfo -u 工作但 getent passwd 没有。通过添加这些包,我能够让 getent passwd 工作。

 apt-get install libnss-winbind libpam-winbind
Run Code Online (Sandbox Code Playgroud)

一旦 getent passwd 返回域用户,我就可以使用域凭据 ssh 进入机器。