0

I have configured everything necessary to log in with an AD account into Linux (Kerberos v5, SSSD, Samba and NTP), but when I connect with Putty to the server, the default shell that starts is /bin/sh.

I use a Mac Mini PowerPC and have installed SSSD version 1.13.4.

/etc/sssd/sssd.conf file:

[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

I have this error:

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

and

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

I need to configure everything so that I start bash by default, any help?

2

What is your user's loginShell LDAP attribute? This is typically what determines a user's shell when using LDAP/AD backends for SSSD.

You can verify a user's shell with a couple different tools.

Using getent passwd, the shell will be the 7th (last) field:

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

Or using sssctl user-checks, you can grep for the shell:

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

If the reported shell is something other than /bin/bash, you will need to update the shell attribute on the LDAP side of things. If the reported shell is /bin/bash, then the problem is local. Either you have a configuration error in your sssd.conf, or /bin/bash is not what it claims to be, or the user's .bashrc file is exec'ing a different shell, or some other local problem.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.