Depende das coisas que você editou nos arquivos mencionados. Provavelmente, como Zoredache mencionou, você esqueceu de alterar o /home/mark
para /home/john
no passwd ou no sistema de arquivos. Também há uma entrada no passwd que informa o shell padrão para o usuário.
Você também pode definir o shell padrão do usuário existente pelo comando usermod -s <path to shell> <username>
.