I manually edited the shell for root in /etc/passwd and I have a typo. Making it worse, I have no sudo user on the box.
So I have tried the following, with the following result:
$ su -s '/bin/bash chsh root' root Password: Cannot execute /usr/bin/scrrn: No such file or directory
(You see what I did, right? Ugh.)
I think it is because of this, from the man page:
If the target user has a restricted shell (i.e. the shell field of this user's entry in /etc/passwd is not listed in /etc/shells), then the --shell option or the $SHELL environment variable won't be taken into account, unless su is called by root.
Maybe my question shouldn't be specifically about su -s but it's a place I can start.