具有不同路径的平台上的 LDAP loginShell

具有不同路径的平台上的 LDAP loginShell

我使用 LDAP 来处理网络上的用户和身份验证。我现在正在添加 FreeBSD 主机,但遇到了登录 shell 的问题。在 Linux 上,shell 往往位于 中/bin/$shellname,因此将 LDAP 中的登录 shell 设置为 可以/bin/zsh完美运行。在 FreeBSD 上,/bin/zsh不存在,我需要使用/usr/local/bin/zsh。有解决方案吗?我想我可以制作某种login-shell.sh脚本,让 LDAP 作为“shell”传递出去,然后使用该脚本确定用户的实际 shell,但我并不喜欢这个想法。

我正在使用 Debian 和 FreeBSD,两者都具有标准 OpenLDAP/PAM/nss 设置。

编辑:看起来使用/bin/sh和添加exec $shell.profile“有效”,但是扩展性不是很好。

答案1

您可以在每台机器上创建一个目录 /shell,其中包含指向 shell 位置的符号链接。这样,您感兴趣的用户就可以拥有 /shell/zsh、/shell/bash 等 shell,而符号链接在本地处理实际位置问题。

相关内容