Why chsh behaviour differs from specified in manpage?
On Wed, Apr 25, 2012 at 12:20:52PM +0800, XeCycle wrote:
> "Dmitry S. Kravtsov" <firstname.lastname@example.org> writes:
> > Hi,
> > Today I messed around with zsh and login shells and found a strange thing -
> > when I try to change my own login shell - chsh forbids me to do this:
> > $ chsh -s /bin/bash
> > You may not change the shell for 'kravitz'.
> > $ whoami
> > kravitz
> > So it states, that I can't change login shell for current user, but lets
> > look at manpage:
> > DESCRIPTION
> > The chsh command changes the user login shell. This determines the
> > name of the users initial login command. A normal
> > user may only change the login shell for her own account; the
> > superuser may change the login shell for any account.
> Have you messed with PAM? Sounds like you blocked yourself in
Nope, as I already replied here - problem is now resolved. The problem
was - I accidently set by root the login shell of my user to "zsh"
instead of "/bin/zsh". And according to very unclear note in manpage
of chsh - both current and new login shells should be described in
/etc/shells. I set a correct login shell for my user by root and now
the problem is resolved - chsh works correctly