Ich verstehe, dass, wenn sich ein Benutzer remote bei Unix anmeldet, zuerst ein Getty-Prozess gestartet wird. Wenn die Authentifizierung erfolgreich ist, wird etc/environement aufgerufen. Ich verstehe jedoch nicht, wann csh.cshrc und csh.login während dieses Prozesses aufgerufen werden?
Antwort1
csh.cshrc
und csh.login
sind globale Versionen von ~/.cshrc
und ~/.login
(oder ~/.csh_login
), z. B. die Konfigurationsdateien von csh. Wenn csh ausgeführt wird, liest es sowohl /etc/csh.cshrc
als auch ~/.cshrc
(es liest auch beide cshlogin-Dateien). Wenn der Benutzer nicht ~/.cshrc
in seinem Home-Verzeichnis hat, kann csh nur lesen /etc/csh.cshrc
. Das ist der Fall, weil dann der Root (oder jemand mit z. B. den richtigen Sudo-Rechten) festlegen kann, dass /etc/csh.cshrc
die Grundeinstellungen enthalten sind und jeder Benutzer seine eigenen Einstellungen in anpassen kann ~/.cshrc
.
Antwort2
Aus man csh
:
An instance of csh begins by executing commands from the file
/etc/csh.cshrc and, if this is a login shell, /etc/csh.login. It then
executes commands from .cshrc in the home directory of the invoker, and,
if this is a login shell, the file .login in the same location. It is
typical for users on CRTs to put the command stty crt in their .login
file, and to also invoke tset(1) there.