无法从 kickstart 使用 Kerberos 加入 AD 域

无法从 kickstart 使用 Kerberos 加入 AD 域

在设置 samba、kerberos 和 sssd 配置后,我尝试使用和命令在%post chroot我的 kickstart 脚本部分加入 Windows 域。kinitnet%pre

我的 authconfig 在命令部分看起来像这样,并生成正确的 kerb5.conf 和 smb.conf

authconfig --disableldap \ --disablewinbindusedefaultdomain \ --disablewinbind \ --disablewinbindauth \ --smbsecurity=ads \ --smbworkgroup="$WORKGROUP" \ --smbrealm="$DOMAIN" \ --smbservers="$PDC" \ --enablemkhomedir \ --enablekrb5 \ --enablekrb5realmdns \ --enablekrb5kdcdns \ --krb5adminserver="$PDC" \ --krb5kdc="$PDC" \ --krb5realm="$DOMAIN" \ --enablelocauthorize \ --enablepamaccess \ --nostart \ --enablesssd \ --enablesssdauth \ --kickstart \ --update

我可以获取 Kerberos 票证并使用 klist 打印它。

$ echo -n "$PASS"|kinit ${USER}
$ klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: [email protected]

Valid starting      Expires            Service pricipal
05/05/15 08:59:08   05/05/15 18:59:07  krbtgt/[email protected]
        renew until 05/12/15 08:59:08

net但是当我运行命令时我总是收到这个错误:

$ net ads join -k 
Failed to join domain: failed to join domain 'DEV.XXX.LOCAL' over rpc: Access denied

我希望看到 keytab 文件/etc/krb5.keytab但它没有被创建。

但是,当我在系统重启后尝试再次加入时,一切正常:

Using short domain name -- DEV
Joined 'TEST' to dns domain 'dev.xxx.local'

PS. 我还注意到,当我将构建系统(在 VMware 中运行的 %post install 阶段)放入其中sleep并通过 ssh 连接到它时,加入 AD 域就可以毫无问题地进行。

答案1

这似乎有效:net ads join -k -U ${USER}%${PASS}

相关内容