历史记录和自动完成功能在 SSH PAM 会话(openssh-server、libpam-ldap 和 nscd)中不起作用

历史记录和自动完成功能在 SSH PAM 会话(openssh-server、libpam-ldap 和 nscd)中不起作用

我配置了一个 Linux Ubuntu 20.04 LTS VM,以在 LDAP 库中对用户进行身份验证,并且它可以正常工作,但是,当尝试重复已经执行的命令时(就像我们通常在 Linux 中做的那样),按“向上箭头”键,命令不会显示,并出现以下错误:

$ ^[[A^[[A^[[A^[[A^[[A^[[A^[[A^[[A^[[A

自动完成功能也不起作用。

有人经历过这个问题吗?或者你能帮我解答这个问题吗?

答案1

用户的默认 shell 可能设置为 /bin/sh,而不是功能更齐全的交互式 shell(如 /bin/bash),如下所述:

箭头键、Home、End、Tab 完成键在 shell 中不起作用

如果您的(本地)系统有 nslcd-utils 包,则应该有一个chsh.ldap命令,相当于chsh本地用户的命令。如果没有,您可能需要与 LDAP 管理员联系。

作为最后的手段,您可以随时编辑现有默认 shell 的启动文件,例如~/.profile,将其替换为您选择的 shell(exec /bin/bash)。但要小心不要陷入无限循环 - 尤其是不要使用execbash登录shell 除非~/.profile你还有一个~/.bash_profile

相关内容