Sometimes invoking 'su' fails. This can be caused by a number of things. Before you look for the cause you might want to try: "su -m" (Leave the environment unmodified.) This Berkeley 'su' option appears to be an undocumented one of SunOS too.
$ su -
$ su -m