Debian
具有不同路徑的平台上的 LDAP loginShell
我正在使用 LDAP 來處理我的網路中的使用者和身份驗證。我現在正在添加 FreeBSD 主機並且遇到了登錄 shell 的問題。在 Linux 上,shell 往往是 in
/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
to.profile
會“工作”,但這並不能很好地擴展。
您可以在每台機器上創建一個目錄 /shell,其中包含指向 shell 位置的符號連結。這樣,您感興趣的使用者可以擁有 /shell/zsh、/shell/bash 等的外殼,而本地的符號連結負責實際的位置問題。