/etc/passwd $HOME

I would like to add a user with the following $HOME:
/var/abc/AB!CD!DE/error
yes - this directory actually exists on the system.
I would like the user to log into the above directory.
I have tried wrapping in single quotes (`) as well as using the escape (\) but I guess that I do not have the proper syntax. Currently when the user logs in - He gets the following error message:
Could not chdir to home directory............
The user is able to log into the box and the pwd is "/".
Is there a trick that I can use? or would it easier to create a link?
Thanks for you help

hmmm... Perhaps you might want to link it to anithing simpler and then set this link as the user's home...
Regards.

There is nothing wrong with that home directory name outside you aren't supposed to use /var to store home directories.

I can create a user with that home directory and have that user login with no issue.

I am not sure if matters but I am running solaris 10

Do you mean login checks and then denies access?

Not at all. I was just mentioning the filesystem standard was somewhat violated but this isn't enforced.

It doesn't matter here.
It works fine with me on Solaris 10 too:

# ssh foo@localhost
Password: 
Last login: Wed May 21 19:54:19 2008 from localhost
Sun Microsystems Inc.   SunOS 5.10      Generic January 2005
$ pwd
/var/abc/AB!CD!DE/error
$ cat /etc/release
                        Solaris 10 8/07 s10x_u4wos_12b X86
           Copyright 2007 Sun Microsystems, Inc.  All Rights Reserved.
                        Use is subject to license terms.
                            Assembled 16 August 2007
$ grep foo /etc/passwd
foo:x:10000:10000:Weird home directory:/var/abc/AB!CD!DE/error:/bin/ksh

Thank you - works now.

should have just specified the path whilst creating he user
useradd -u 123 -g 10 -d /var/abc/AB!CD!DE/error -m -s /bin/ksh -c "Test User" user

useradd -u <uid> -g <gid> -G <GID> -c "test user" -d /var/abc/AB!CD!EF/error -m -s /bin/sh <user name>

here -G is no need.