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.