Diese Datei wird als Shellskript bei jeder Anmeldung für jeden User ausgeführt.
Hier ist eine Beispielkonfiguration:
# /etc/profile: system-wide .profile file for bash(1).
# Die Datei "environment" enthält alle Umgebungsvariablen außer PATH, sie
# wurde getrennt, weil das die Übersicht erhöht und weil einige
# Programme nur die Umgebungsvariablen übernehmen wollen, und nicht die
# Startskripte ausführen.
#
. /etc/environment
# Der PATH setzt die Pfade fest, in denen nach Programmen gesucht wird, die
# nicht explizit mit Pfadnamen aufgerufen werden. Zu beachten ist, daß das
# aktuelle Verzeichnis <b>nicht</b> implizit im PATH steckt, und dort auch
# nicht hineingehört (das öffnet Sicherheitslücken ohne Ende, man stelle
# sich mal ein "böses" Programm namens "ls" im /tmp-Verzeichnis vor).
#
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games"
# Die "umask" setzt die Bits, die beim Schreiben von Dateien standardmäßig
# '''nicht''' gesetzt werden sollen. Die jetzige Einstellung (002) setzt neu
# erstelle Dateien auf rw-rw-r-- und Verzeichnis auf rwxrwxr-x, d.h.
# Besitzer/Gruppe dürfen alles, und der Rest der Welt darf nur lesen. Eine
# umask von 022 würde in rw-r--r-- bzw. rwxr-xr-x resultieren.
#
# Mehr Info gibts hier: http://www.linuxhelp.de/cgi-bin/fom?file=30
#
umask 002
# das "ls" Kommando kann Dateien auf entsprechenden (farbfähigen) Terminals
# nach Dateiendung farbig kodiert darstellen. Dies wird in der Datei
# /etc/DIR_COLORS konfiguriert und hier dann aktiviert.
#
eval `dircolors /etc/DIR_COLORS`
alias ls='ls --color'
# Falls sich ein Mitglied der Gruppe "admin" oder "root" anmeldet, bekommt
# es zusätzliche Einstellungen. Der Befehl "groups" gibt die Gruppen des
# aktuellen Benutzers aus, und da dieses Skript ja "als" der gerade
# angemeldete User gestartet wird, klappt das. Und "egrep" beendet
# erfolgreich, wenn eine der beiden Gruppen gefunden wurden.
#
if groups | egrep 'admin|root' >/dev/null ; then
# zusätzliche PATH-Angaben: alles in "sbin" Verzeichnissen ist
# normalerweise für Anwender uninteressant
export PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin
# In der Datei /var/log/messages werden typischerweise alle
# wichtigen Systemereignisse (Anmeldungen, Fehlermeldungen von
# Systemdiensten, etc) festgehalten. Der Befehl "tail -f" gibt die
# Datei ständig aus, so daß man eine neue Meldung sofort auf den
# Bildschirm bekommt. C-c (CTRL-c) beendet tail wieder.
alias syslog='tail -f --lines=200 /var/log/messages'
# Wenn ein Wählvorgang nach draußen stattfindet, protokolliert
# isdn4linux dies mit einer Zeile "OPEN: <anfragende_IP:Port>
# <ziel_IP:Port>". Wir suchen nach solchen Meldungen und haben eine
# schnelle Übersicht, wie oft (und warum!) der Server herausgewählt
# hat.
alias openlog='grep OPEN /var/log/messages | cut -b1-16,35-'
# Abkürzungen für ISDN-Befehle. Automatisches/Manuelles Wählen
# umschalten, und Aufhängen.
alias iauto='isdnctrl dialmode ippp0 auto; isdnctrl list ippp0|grep -i "dial mode"'
alias imanu='isdnctrl dialmode ippp0 manual; isdnctrl list ippp0|grep -i "dial mode"'
alias ihang='isdnctrl hangup ippp0'
fi
# Allgemeinbildung auffrischen: Historische Daten für heute mit "calendar"
echo "--- Heute vor XXX Jahren ... --------------------------------------------------"
calendar
echo "-------------------------------------------------------------------------- Jens"
echo
# Ich möchte Systemrundschreiben (talk, wall, ...) empfangen.
mesg y
# Der Standard-Editor bei uns ist der VI Improved. vi selbst möchte ich
# keinem mehr antun, aber der vim ist ein nicht ganz so fürchterlich
# gewöhnungsbedürftiges, dafür aber sehr mächtiges Werkzeug, das sich auf
# Dauer wirklich rentiert.
#
export EDITOR=vim
# Man kann z.B. beim vim in Form von Kommentaren pro-Datei-Einstellungen
# vornehmen. :-)
#
# vim:set tabstop=4 noautoindent nowrap backup: