I’m currently playing around with LARS, this script collection creates a arch ISO with some post-install magic, for example setting a login shell for root. The used code is:
usermod -s /usr/bin/bash root
I could boot up the image and ssh into it with my key. But three things weren’t working:
- Login as normal user and do su
- Login at a TTY
- Login via ssh with a password
I got a “Access Denied” message in all three cases. I digged around for two days. I know that Arch Linux moved binaries around a few years back,
/bin is now a symlink to
/usr/bin. Just for fun a colleague changed the shell in the
/bin/bash, just like in the good old days, and WTF everything was working?!
We found the
# End of file
This file lists all shells that are allowed to be used as a login shell. By default it lists the symlink for bash, not the absolute path itself… I still don’t know why the keybased login was working, but this is another mystery.