Change default shell when user not in /etc/passwd

Here is a hint : /usr/bin/chsh.ldap: "/usr/bin/fish" is an invalid shell. It seems that you should add /usr/bin/fish to /etc/shells.


Hold on, it's an LDAP user, there is a setting in LDAP that allows you to change the default shell for the user in them.

You can install ldap-account-manager which gives you an webfrontent for the ldap configuration.

apt install ldap-account-manager

enter image description here

This can be done on any server which you want to handle the configuration on. Since you will need to configure the server in the config files anyway. But I would recommend you install it on the server which has the ldap actually running, just so you can remember it easier.