Default shell is /bin/hash

I migrated a server last week and everything appears to be working on a new CentOS 8.2 installation. The problem I found today was when a customer tried to log into the server via ssh with his administrator account he could not. After some checking I found that the default shell for all administrator users was set to /bin/hash instead of /bin/bash. Is that normal? Obviously /bin/hash is not a valid shell.

Many years ago there was a typo in a config file in some cases for a while. Was this a migration from a quite old (like ~4 years ago or more) Virtualmin installation? I’m having trouble tracking down exactly when the typo appeared and when it was fixed, as we split virtualmin-gpl out into its own repo several years ago, and the branches where this typo appeared aren’t part of the new repo…but, it’s been fixed for many years (and I don’t think it appeared for very long…maybe a few later 4.x releases up to 5.07 maybe).

And, yes, it’s obviously supposed to be bash.

The original installation was done several years ago but was always updated to the latest as it became available. I just checked the old server and all administrator accounts have /bin/sh as their shell in /etc/passwd, when they were transferred to the new server they got changed to /bin/hash as they were imported.

The config only gets copied once, during initial OS install. So, the old system probably has /bin/hash in its configuration file in /etc/webmin/virtual-server/config.

This topic was automatically closed 4 days after the last reply. New replies are no longer allowed.