我有一个 LDAP 服务器和一个预定义的 shell (bash)。但是在某些机器上,我希望在用户登录时使用不同的 shell,而不是存储在 LDAP 中的 shell。
我怎样才能做到这一点??有人可以给我一些指导吗?
谢谢
jne*_*ves 10
在 /etc/ldap.conf 添加以下行:
nss_override_attribute_value loginShell <different_shell>
Run Code Online (Sandbox Code Playgroud)
祝你好运,
若昂·米格尔·内维斯
共享主目录?如果没有,请输入用户~/.bash_profile
(或任何正确的文件,检查 中的 INVOCATION man bash
):
exec /bin/tcsh
Run Code Online (Sandbox Code Playgroud)
或者任何你想用来替换 bash 的 shell。
如果他们使用 ssh 登录,那么您可以使用密钥对和强制命令。
请注意,根据您将另一个 shell 的 exec 放置的位置,scp
如果您不检查交互式 shell(如/etc/skel/.bashrc
Ubuntu 上的),则此类命令可能无法正常运行。
您最好的办法是请您的 LDAP 管理员更改loginShell
您的 LDAP 用户。