Almo2001 wrote:
I'm now using Single User and messing around. I've tried removing the .bash_* files from my home directory
If I remember correctly that the fresh user you tried had the same problem, I wouldn't expect that to help, as the problem would appear to be in a system-level file. On the other hand, if your administrators have put shell initialization files in the user template (assuming that's possible), then any user you add could have the same problem. Did you remove .bashrc?
I've tried reverting to the original /etc/profile (we use a modified one here).
That's a good thing to try. Too bad it didn't help.
I found this in the a system log just after Terminal fails:
Jul 6 14:04:57 mtl-mac-af272-3 login[404]: in openpam
loadmodule(): no pam_centrifydc.so found
Jul 6 14:04:57 mtl-mac-af272-3 login[404]: pam_start(): system error
I don't have such a file on my system. On the other hand, this Web page
http://ushosi.110mb.com/files/centrifydcadminguide.pdf
discusses how Centrify DirectControl has to do with Microsoft Active Directory, which is presumably something your corporate IT people installed. PAM itself is a system of "Pluggable Authentication Modules", providing "an additional layer of abstraction to Unix authentication". You might find a file related to Centrify in /etc/pam.d .
I don't think that's what's causing your problem, but your IT people might be interested in knowing about it.
Back to your problem, I'd try renaming /etc/bashrc and /etc/profile .
In case it might suggest a fix, here's material from "man bash" (the section titled "Invocation"):
The following paragraphs describe how bash executes its startup files.
If any of the files exist but cannot be read, bash reports an error.
Tildes are expanded in file names as described below under Tilde
Expansion in the EXPANSION section.
When bash is invoked as an interactive login shell, or as a non-inter-
active shell with the --login option, it first reads and executes com-
mands from the file /etc/profile, if that file exists. After reading
that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.pro-
file, in that order, and reads and executes commands from the first
one that exists and is readable. The --noprofile option may be used
when the shell is started to inhibit this behavior.
When a login shell exits, bash reads and executes commands from the
file ~/.bash_logout, if it exists.
When an interactive shell that is not a login shell is started, bash
reads and executes commands from ~/.bashrc, if that file exists. This
may be inhibited by using the --norc option. The --rcfile file option
will force bash to read and execute commands from file instead of
~/.bashrc.
When bash is started non-interactively, to run a shell script, for
example, it looks for the variable BASH_ENV in the environment,
expands its value if it appears there, and uses the expanded value as
the name of a file to read and execute. Bash behaves as if the fol-
lowing command were executed:
if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
but the value of the PATH variable is not used to search for the file
name.
If bash is invoked with the name sh, it tries to mimic the startup
behavior of historical versions of sh as closely as possible, while
conforming to the POSIX standard as well. When invoked as an interac-
tive login shell, or a non-interactive shell with the --login option,
it first attempts to read and execute commands from /etc/profile and
~/.profile, in that order. The --noprofile option may be used to
inhibit this behavior. When invoked as an interactive shell with the
name sh, bash looks for the variable ENV, expands its value if it is
defined, and uses the expanded value as the name of a file to read and
execute. Since a shell invoked as sh does not attempt to read and
execute commands from any other startup files, the --rcfile option has
no effect. A non-interactive shell invoked with the name sh does not
attempt to read any other startup files. When invoked as sh, bash
enters posix mode after the startup files are read.
When bash is started in posix mode, as with the --posix command line
option, it follows the POSIX standard for startup files. In this
mode, interactive shells expand the ENV variable and commands are read
and executed from the file whose name is the expanded value. No other
startup files are read.
Bash attempts to determine when it is being run by the remote shell
daemon, usually rshd. If bash determines it is being run by rshd, it
reads and executes commands from ~/.bashrc, if that file exists and is
readable. It will not do this if invoked as sh. The --norc option
may be used to inhibit this behavior, and the --rcfile option may be
used to force another file to be read, but rshd does not generally
invoke the shell with those options or allow them to be specified.
If the shell is started with the effective user (group) id not equal
to the real user (group) id, and the -p option is not supplied, no
startup files are read, shell functions are not inherited from the
environment, the SHELLOPTS variable, if it appears in the environment,
is ignored, and the effective user id is set to the real user id. If
the -p option is supplied at invocation, the startup behavior is the
same, but the effective user id is not reset.