I got into this problem lately in a Live environment of the new Ubuntu MATE release where no matter how many times I change the password using 'sudo passwd' it simply does not effect 'chsh'. So, when I type in
chsh -s /usr/bin/zshIt asks for the password. And when I type the password in, it does not work. It simply says "PAM: Authentication Failure". Ok, so go for Googling. Later, I found out that all user 'home' and 'shell' infos are stored in a file located by '/etc/passwd'. Now you need root to do this. So how do you get root? For a Live system, that's simple. just type in
sudo -iIt should give you the '#' prompt so you're root now. Now just open the file using your favorite editor like
nano /etc/passwdThen find your user name and change the string right after the last ':' on that line. Done. Reboot and go. For now, I seriously don't know why 'chsh' didn't work. :( anybody have any clues?