在设置 samba、kerberos 和 sssd 配置后,我尝试使用和命令在%post chroot
我的 kickstart 脚本部分加入 Windows 域。kinit
net
%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}