Invalid User Shell. Login Rejected.
Note: I use Solaris 10 x86.
To customize my solaris environment, I tried to change my default shell to bash. When I modified /etc/passwd, I inputted a wrong path for bash. After I logout, I can not get back to system, because I changed root's passwd. How should I do?
I use the boot cd to boot my system, and then choose single user mode. After "#" pompts up, I am in a mini boot environment which is provided by boot cd. Then I
# cd /
# cd tmp
# mkdir mnt
# mount /dev/dsk/c0d0s0 /tmp/mnt (mount the root device and then modify it)
# cd /tmp/mnt/etc
# vi passwd (change root's shell path back to the correct one)
# init 6
When I login back to the system, "Invalid User Shell. Login Rejected" disppears and I succeed in loginning.

That's 1 reason why you should use passwd(1) -e to edit passwd entries.
Posted by Tony Curtis on February 12, 2009 at 05:03 PM PST #