我正在尝试使用kickstart设置一个主机块,并且有两个命令需要输入密码.一个是kinit,对于那个,很容易生成一个keytab文件并使用-t传递它,另一个是在执行authconfig命令时间接调用的net join.
有没有办法通过凭证文件或使用密码哈希来提交密码?显然我不想把它作为纯文本传递.
@ewwhite感谢您的链接,我来看看.我不确定是什么,我绝对不反对使用SSSD,如果它让我完成同样的事情,它允许无人值守的配置.我使用Samba / Winbind更多地与我的舒适程度有关.你能否建议我如何使用SSSD做同样的事情,记住我不想手动输入密码?
相关的kickstart内容:
cat << EOF > /etc/samba/smb.conf [global] encrypt passwords = yes # logs split per machine log file = /var/log/samba/log.%m # max 50KB per log file,then rotate max log size = 50 passdb backend = tdbsam EOF chkconfig smb on chkconfig nmb on service smb restart service nmb restart cat << EOF > /etc/krb5.conf [logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] default_realm = AD.DOMAIN.NET dns_lookup_realm = true dns_lookup_kdc = true allow_weak_crypto = false ticket_lifetime = 24h renew_lifetime = 7d rdns = false forwardable = true [realms] AD.DOMAIN.NET = { admin_server = dc01.ad.domain.net default_domain = ad.domain.net kdc = dc01.ad.domain.net } [domain_realm] .ad.domain.net = AD.DOMAIN.NET ad.domain.net = AD.DOMAIN.NET EOF net time set -S dc01.ad.domain.net /usr/bin/kinit -k -t addom.keytab Administrator@AD.DOMAIN.NET authconfig --update \ --kickstart \ --enablewinbind \ --enablewinbindauth \ --smbsecurity=ads \ --smbrealm=AD.DOMAIN.NET \ --winbindjoin=administrator@AD.DOMAIN.NET \ --winbindtemplatehomedir=/home/DOMAIN/%U \ --winbindtemplateshell=/bin/bash \ --enablewinbindusedefaultdomain \ --enablelocauthorize \ --smbservers=dc01.ad.domain.net \ --enablemkhomedir \ --smbidmaprange=100000-200000
解决方法
很多选择……见:
Common wisdom about Active Directory authentication for Linux Servers?
有了EL6,你确定要去Samba / Winbind路线吗?目前,精心设计的authconfig字符串和SSSD配置(/etc/sssd/sssd.conf)文件几乎都是您需要的…(除非您尝试集成主目录)
现在你的kickstart里有什么?