无法使用 AD 帐户和 /bin/bash 登录 Linux

无法使用 AD 帐户和 /bin/bash 登录 Linux

我已经配置了使用 AD 帐户登录 Linux 所需的一切(Kerberos v5、SSSD、Samba 和 NTP),但是当我使用 Putty 连接到服务器时,启动的默认 shell 是/bin/sh.

我使用 Mac Mini PowerPC 并安装了 SSSD 版本 1.13.4。

/etc/sssd/sssd.conf文件:

[sssd]
services = nss, pam
config_file_version = 2
domains = <FQDN>
reconnection_retries = 3
debug_level = 5

[nss]
default_shell = /bin/bash
debug_level = 5

[pam]
debug_level = 5

[domain/<FQDN>]
id_provider = ad
access_provider = ad
default_shell = /bin/bash
override_homedir = /home/%u
debug_level = 5

我有这个错误:

[e]0bash
daniel.luna@devsrv2:~$ exit
exit
[e]0

login as: daniel.luna
daniel.luna<FQDN>'s password:
...
Last login: Thu May 17 11:35:51 2018 from
-sh: 24: u@h:: not found
[e]0

我需要配置一切,以便默认启动 bash,有帮助吗?

答案1

您的用户的loginShellLDAP 属性是什么?当使用 SSSD 的 LDAP/AD 后端时,这通常决定用户的 shell。

您可以使用几个不同的工具来验证用户的 shell。

使用getent passwd,shell 将是第七个(最后一个)字段:

[hendrenj@pitserver ~]$ getent passwd hendrenj
hendrenj:*:152370:829:hendrenj:/home/hendrenj:/bin/bash

或者使用sssctl user-checks,您可以 grep 查找 shell:

[hendrenj@pitserver ~]$ sudo sssctl user-checks hendrenj 2>&1 | grep shell
 - shell: /bin/bash

如果报告的 shell 不是/bin/bash,您将需要更新 LDAP 端的 shell 属性。如果报告的 shell 是/bin/bash,则问题出在本地。要么您的 中存在配置错误sssd.conf,要么/bin/bash不是它声称的那样,或者用户的.bashrc文件正在执行不同的 shell,或者存在其他一些本地问题。

相关内容