The default installation of Red Hat 6.1 (and possibly others - this may be a multiple-vendor issue) does not assign a shell for many of the non-user (daemon) accounts (e.g. nobody, bin). If no shell is specified, the shell defaults to /bin/sh. This setting is correct for the xfs account, which assigns /bin/false as the shell. The solution would be to assign these accounts a shell which will not permit login, such as /bin/false. Additionally, /etc/shells does not contain a shell such as /bin/false which would deny login, which produces an error when assigning such a shell to an account via chsh. This entry could be included to /etc/shells in the default installation.
Changing to component "setup", which includes the default passwd file.
Changing the base of the default password file is not really an option at this point.