无法使用kickstart中的KerberosjoinAD域

我试图在%pre设置samba,kerberos和sssdconfiguration之后,使用kinitnet命令join到我的kickstart脚本的%post chroot部分中的Windows域。

我的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: linux[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但它不会被创build。

但是,当我尝试在系统重新启动后再次join时,它工作正常:

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

PS。 我也注意到,当我把构build系统(在VMware中运行的%post安装阶段) sleep并ssh到它,然后join到AD域工作没有问题。

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