我想在不使用 yast GUI 的情况下在 SLES 12 中启用/配置 LDAP 客户端。在 12 之前(或者如果我没记错的话是 11 sp3),我曾经这样做:
yast2 ldap configure server="myserver" base="mybase" [some other parameters]
基本上,它类似于 RHEL 中的 authconfig 配置
authconfig --enableldap --enableldapauth --enablemkhomedir [some other parameters]
我的问题是:
有没有办法配置(或至少启用)LDAP 客户端而无需任何 GUI 交互?我想在系统安装后以脚本方式执行此操作。我不想使用 autoyast 方法。
答案1
因此,经过一些研究/测试,我终于发现了如何在没有 GUI 交互的情况下在较新的 SLES 版本上配置 LDAP 客户端。
确保已安装所需的软件包(我使用带有 ldap 的 sudo,这就是我安装 libsss_sudo 的原因。如果您不需要它,则不必安装它)。
zypper 安装 sssd libsss_sudo
配置 PAM 模块(我个人将它们设置为在登录时创建主文件夹,并将新目录的 umask 设置为 077)
pam-config --add --sss && pam-config --add --mkhomedir --mkhomedir-umask=0077
禁用“旧” nscd 以避免冲突并启用 sssd
服务 nscd 停止 && chkconfig nscd 关闭 && chkconfig sssd 开启
最后用你的设置编辑 nsswitch.conf 和 sssd.conf,并记得重新启动 sssd 服务
*我曾经在 SLES 12 上启动 sssd 服务时遇到问题,因为 nscd 有一个套接字处于打开状态(即使 nscd 已被禁用/停止)。unlink /var/run/nscd/socket
我设法修复了它。