If you keep getting PAM authentication failed when trying to change shell, even when running as root, you probably have some invalid settings.
Change the shell manually using vipw /etc/passwd. chsh should be back working now.
vipw can be used to safely edit /etc/shadow and etc/group, too.