覆盖 LDAP 外壳

Inc*_*ble 9 login shell ldap

我有一个 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)

祝你好运,
若昂·米格尔·内维斯


ptm*_*man 3

共享主目录?如果没有,请输入用户~/.bash_profile(或任何正确的文件,检查 中的 INVOCATION man bash):

exec /bin/tcsh
Run Code Online (Sandbox Code Playgroud)

或者任何你想用来替换 bash 的 shell。

如果他们使用 ssh 登录,那么您可以使用密钥对和强制命令。

请注意,根据您将另一个 shell 的 exec 放置的位置,scp如果您不检查交互式 shell(如/etc/skel/.bashrcUbuntu 上的),则此类命令可能无法正常运行。

您最好的办法是请您的 LDAP 管理员更改loginShell您的 LDAP 用户。