从命令行在 SLES 12 中启用 LDAP 客户端

从命令行在 SLES 12 中启用 LDAP 客户端

我想在不使用 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 客户端。

  1. 确保已安装所需的软件包(我使用带有 ldap 的 sudo,这就是我安装 libsss_sudo 的原因。如果您不需要它,则不必安装它)。

    zypper 安装 sssd libsss_sudo

  2. 配置 PAM 模块(我个人将它们设置为在登录时创建主文件夹,并将新目录的 umask 设置为 077)

    pam-config --add --sss && pam-config --add --mkhomedir --mkhomedir-umask=0077

  3. 禁用“旧” nscd 以避免冲突并启用 sssd

    服务 nscd 停止 && chkconfig nscd 关闭 && chkconfig sssd 开启

  4. 最后用你的设置编辑 nsswitch.conf 和 sssd.conf,并记得重新启动 sssd 服务

*我曾经在 SLES 12 上启动 sssd 服务时遇到问题,因为 nscd 有一个套接字处于打开状态(即使 nscd 已被禁用/停止)。unlink /var/run/nscd/socket我设法修复了它。

相关内容