Hinweise für LINUX-Funktionsadmins
- ROOT-Repos für Konfigurations-Prototypen
- LOG-Repos für Host-spezifische Daten
- Software-Bereitstellung und Software-Repos
Funktionsadmins teilen sich die Gesamtverantwortung für einen Host mit den Sysadmins und Softwareadmins. Im Regelfall sind die Sysadmins für die Konfiguration und die unten beschriebene Bereitstellung der Konfigurations-Prototypen verantwortlich. In bestimmten Situationen ist es aber sinnvoll, wenn der Funktionsadmin selbst in der Lage ist, die Konfiguration zu verändern.
Nachfolgende Erläuterungen und Hinweise gehen von einem (fiktiven) Beispiel-Szenario aus:- Hostname:
magog
- System-Plattform:
SL_6.5_x86_64
- der Bezeichner für eine Systemplattform setzt sich zusammen aus: <distribution>_<bs-version>_<architektur>
- Funktionsklasse:
FU_REFERENZ_SERVER
- der Bezeichner für ein Funktionsklasse fasst alle Hosts mit identischer Funktionalität zusammen übliche Konvention für solche Bezeichner: FU_[<institution>_]<functionname>_{SERVER | WS | DEVEL_MISC}
- Funktionsadmin: Nutzerkennzeichen
abcxyz
ROOT-Repos für Konfigurations-Prototypen
Konfigurationsfiles werden nicht direkt auf dem System gepflegt, sondern indirekt über Prototypen, die sich in geeigneten ROOT-Repositories befinden.
Demzufolge ergibt sich die Änderung eines Konfigurationsfiles im Systemfilesystem durch eine Folge von Aktionen:- Erzeugen oder Ändern des Prototypen im ToSCA-Repo
- Cfengine -Wartungslauf, um den Prototyp im System zu speichern:
- entweder direkt durch Ausführen des Kommandos
/usr/local/bin/sys_update
oder - indirekt durch turnusmäßig per
cron
gestartete Wartungsläufe
- entweder direkt durch Ausführen des Kommandos
- evtl. muss die von der Konfigurationsänderung betroffene Systemkomponente neu gestartet werden (ist meist automatischer Bestandteil eines Cfengine -Wartungslaufes)
/afs/tu-chemnitz.de/ToSCA/ROOTS
$ cd /afs/tu-chemnitz.de/ToSCA/ROOTS $ ls -d */FU_REFERENZ_SERVER LINUX/FU_REFERENZ_SERVER SL_6/FU_REFERENZ_SERVER SL_6_x86_64/FU_REFERENZ_SERVER SL_6.5_x86_64/FU_REFERENZ_SERVER
$ cd /afs/tu-chemnitz.de/ToSCA/ROOTS $ ls -d */magog SL_6.5_x86_64/magog
Repo-Verzeichnis | geeignet für Prototypen, die gültig sein sollen |
---|---|
LINUX/FU_REFERENZ_SERVER | für alle LINUX-Hosts dieser Funktionsklasse |
SL_6/FU_REFERENZ_SERVER | für alle SL_6-Hosts dieser Funktionsklasse (unabhängig von der Minor-SP-Klasse bzw. Architektur) |
SL_6_x86_64/FU_REFERENZ_SERVER | für alle SL_6_x86_64-Hosts dieser Funktionsklasse (unabhängig von der Minor-SP-Klasse) |
SL_6.5_x86_64/FU_REFERENZ_SERVER | für alle SL_6.5_x86_64-Hosts dieser Funktionsklasse |
SL_6.5_x86_64/magog | nur für diesen Host |
Spezielle LINUX-Konfigurationsfiles, die für Funktionsadmin von Bedeutung sind
login.access
In login.access
wird die Zugangskontrolle zu den Host
dieser Funktionsklasse spezifiziert, d.h. wer darf sich
anmelden und von welchen anderen Hosts (Details siehe man login.access
).
@urz_mitarbeiter
),
der Spezialnutzer not
(sog. Notfall-Nutzer)
sowie der Nutzer abcxyz
von überall anmelden können:
... + : @urz_mitarbeiter not abcxyz : ALL ...
login.access
wird pro Funktionsklasse
und LINUX
identisch gepflegt:
/afs/tu-chemnitz.de/ToSCA/ROOTS/LINUX/FU_REFERENZ_SERVER/etc/login.access
hosts.allow
Das File hosts.allow
dient der Zugangskontrolle von Nutzern/Diensten anderer Hosts.
Für bestimmte Hosts/Netzwerke kann hier der Zugriff auf bestimmte lokale Dienste explizit gestattet werden
(Details siehe man hosts.allow
).
hosts.allow
wird pro Funktionsklasse
und LINUX
identisch gepflegt:
/afs/tu-chemnitz.de/ToSCA/ROOTS/LINUX/FU_REFERENZ_SERVER/etc/hosts.allow
daemon.conf
Beim Booten des Systems werden Dienste (Daemons) automatisch
gestartet.
Im sog. rc
-Script wird festgelegt, in welchen Run-Levels und mit welcher Priorität
der Daemon standardmäßig gestartet werden soll.
Zum Beispiel soll der Daemon afs
im rc
-Script
/etc/rc.d/init.d/afs
in den Run-Levels 3,4 und 5
gestartet werden.
Die Startpriorität soll 35 und die Stop-Priorität 88 sein.
Entsprechend müssen folgende Zeilen im rc
-Script enthalten sein:
# chkconfig: 345 35 88 # description: OpenAFS is a distributed filesystem.
daemon.conf
sind alle Daemons enthalten,
die beim nächsten Booten des Systems automatisch
gestartet werden müssen.
Alle dort nicht enthaltenen Daemons werden automatisch deaktiviert und
demzufolge auch nicht beim nächsten Booten gestartet.
Zum Beispiel soll der Daemon afs
als rc
-Script
(/etc/rc.d/init.d/afs
) direkt gestartet sowie
sshd
über xinetd
aktiviert (/etc/xinetd.d/sshd
)
werden:
$ cat .../SL_6/FU_REFERENZ_SERVER/etc/daemon.conf ... afs:rc ... sshd:xinetd ...
/afs/tu-chemnitz.de/ToSCA/SCRIPTS/LINUX/daemon_config.sh
.
daemon.conf
erfolgt das Aktivieren bzw.
Deaktivieren von Daemons, jedoch nicht automatisch das Beenden bzw. Starten der betreffenden Daemons
im laufenden Betrieb.
daemon.conf
wird pro Funktionsklasse
und AI-SP-Klasse identisch gepflegt:
/afs/tu-chemnitz.de/ToSCA/ROOTS/SL_6/FU_REFERENZ_SERVER/etc/daemon.conf
daemon.local.conf
Als Erweiterung zu daemon.conf
existiert für
jeden Host ein Prototyp von daemon.local.conf
.
/afs/tu-chemnitz.de/ToSCA/ROOTS/SL_6.5_x86_64/magog/etc/daemon.local.conf
daemon.conf
-File
für diesen Host gestartet werden soll.
Definition der Paketmenge
in folgenden Konfigurationsfiles wird der Paketbestand festgelegt:-
rpm_accept.global.conf
-
rpm_accept.spec.conf
(optional) -
rpm_accept.local.conf
<paketname>.<architektur>
rpm_accept.local.conf
als Ergänzung zu rpm_accept.global.conf
. Ggf. ist das Konfigurationsfile leer.
crontab
In crontab
wird festgelegt, welche Cronjobs zu welchen
Zeitpunkten gestartet werden sollen.
Für jeden Host existiert der Prototyp von crontab
.
/afs/tu-chemnitz.de/ToSCA/ROOTS/SL_6.5_x86_64/magog/etc/crontab
sudoers.global
Dieses File enthält standardisierte sudoers
-Spezifikationen
entsprechend der im URZ festgelegten Management-Policies.
Für jeden Host wird sudoers.global
automatisch generiert.
sudoers.global
File darf nicht von Hand modifiziert werden.
sudoers.local
Dieses File enthält evtl. notwendige Erweiterungen,
die nur für diesen Host gelten sollen.
Für jeden Host existiert der Prototyp von sudoers.local
als Ergänzung zu sudoers.global
.
sudoers.local
muss existieren und ist normalerweise leer.
suders.global
und sudoers.local
gemischt
und als sudoers
-Konfigfile unter /etc/sudoers
abgelegt.
sysctl.d/*.conf
Diese Files enthalten Einstellungen für Kernel-Parameter.
In den meisten Fällen werden diese Files nicht benötigt.
/etc/sysctl.conf
.
Einstellungen von Kernel-Parametern sollten in einzelnen Files (entsprechend
einer konkreten Anwendung) vorgenommen werden.
Die Einstellungen werden während des Boot-Vorgangs durch das Script
/etc/rc.d/init.d/sysctl
in den laufenden Kernel übernommen.
Auf diesem Wege vorgenommene Einstellungen haben Vorrang vor den
Einstellungen in /etc/sysctl.conf
, was deshalb
immer unverändert bleiben sollte.
resolv.conf
/etc/resolv.conf
wird zentral für alle Linux-Systeme verteilt.
Deshalb können keine eigenen individuellen Prototypen
für einzelne Rechner oder die zur Funktionsklasse gehörenden Rechner konfiguriert werden.
Wird ein spezieller search
-Pfad gewünscht, so kann das durch
Setzen der Environment-Variable LOCALDOMAIN
erfolgen.
LOG-Repos für Host-spezifische Daten
Für jeden Host wird ein LOG-Verzeichnis eingerichtet./afs/tu-chemnitz.de/ToSCA/LOGS/SL_6.5_x86_64/magog
- Logfiles von
cron
-Jobs - Informationen über den aktuellen HW- und SW-Bestand des Systems
- Kopien von Konfigurationsfiles, die dynamisch während des Betriebes von bestimmten Systemkomponenten verändert werden und deshalb nicht über Prototypen gepflegt werden können, z. B.
-
etc_grub.conf
-
etc_fstab
-
Eine ausgewählte Menge dieser Informationen wird einmal am Tag aufbereitet und auf dem Monitoring-Server ins Web gestellt.
Abhängig von Funktionalität und Einrichtung gelten folgende URLs
zu den Monitoringsystemen.
(Detailinformationen sind nur den Funktionsverantwortlichen der Systeme zugänglich.)
Server | Entwicklungssysteme | alle anderen Einrichtungen | UBC und URZ |
---|---|---|
http://bb.hrz.tu-chemnitz.de/ | https://bb1.hrz.tu-chemnitz.de/ | https://bb2.hrz.tu-chemnitz.de/ |
Software-Bereitstellung und Software-Repos
zentrale SW-Repos für vom URZ administrierte Systeme
Es gibt eine Vielzahl von Paket-Repositories für RPM-Pakete für Red Hat- bzw. Fedora-basierte Linux-Systeme. Die Installation aus diesen Repos ist meist einfach überyum
möglich, kann aber problematisch sein,
was die Verträglichkeit mit den anderen installierten RPM-Paketen betrifft.
Systeme, die durch das URZ administriert werden, erhalten ihre SW-Pakete aus
zentralen ToSCA-SW-Repos, die durch die Softwareadmins des URZ gepflegt,
überwacht und konsistent gehalten werden.Dies sichert insbesondere, dass
- kritische SW-Pakete vor der Freigabe in die zentralen Repos gezielt getestet werden können, bevor sie auf Systeme automatisch verteilt werden
- die Konsistenz der Gesamtmenge aller SW-Pakete gewährleistet ist
- die Systeminstallationen reproduzierbar sind, z. B. bei Ausfall oder Wechsel des Hosts
cfengine
bereitgestellt.
/etc/yum.repos.d/base.repo # Basisrepo der Distribution (z. B. SL_6.5_x86_64) /etc/yum.repos.d/urz_updates.repo # Repo für freigegebene SW-Updates der Distribution (z. B. SL_6.5_x86_64) /etc/yum.repos.d/urz_contrib_major.repo # URZ_CONTRIB-Repo (unabhängig von der Minor-Release, z. B: für alle SL_6_x86_64) /etc/yum.repos.d/urz_contrib.repo # URZ_CONTRIB_REPO für die Minor-Release, z. B: SL_6.5_x86_64
URZ_CONTRIB-Repos
Über die URZ_CONTRIB-Repos ist es möglich, spezielle zusätzliche SW-Pakete bereitzustellen. Das ist insbesondere für SW-Pakete sinnvoll, die von allgemeinem Interesse sind und auf mehreren (vielen, allen) Systemen installiert werden sollen. Falls RPM-Pakete installiert werden sollen, die nicht in der betreffenden Distribution enthalten sind, so muss dies unter Beachtung folgender Regeln geschehen:- zusätzliche Pakete müssen verträglich zu den Paketen der Distribution sein
- die Installation der Pakete darf nur aus den dafür vorgesehenen ToSCA-SW-Repos erfolgen
dienstspezifische Software für Serversysteme
Unter gewissen Voraussetzungen kann durch einen Funktionsadmin beantragt werden, zusätzliche RPM-Pakete aus speziellen SW-Repos zu installieren:- es handelt sich um ein virtuelles bzw. reales Systemen, das als Produktionsserver (FU_*_SERVER) oder Entwicklungssystem (FU_*_DEVEL_MISC) klassifiziert ist
- die SW-Pakete sind zur Erbringung der Dienste erforderlich
- die SW-Pakete stehen nicht in Konflikt zu den RPM-Paketen der Distribution bzw. den aus URZ_CONTRIB bereitgestellten Paketen
- die System- und Softwarewartungs- sowie Pflegemaßnahmen durch den Auftragnehmer (einschließlich System-Upgrade) werden nicht beeinträchtigt
- der Auftraggeber übernimmt die inhaltliche Verantwortung für den Betrieb der zusätzlichen SW
Hinweise für WINDOWS-Funktionsadmins bzw. Selfadmins
- ROOT-Repos für Konfigurations-Prototypen
- LOG-Repos für Host-spezifische Daten
- Software-Repos für speziell bereitgestellte Software
Nachfolgende Ausführungen beziehen sich auf die BS-Familie WIN7 (d.h. die Systemplattformen W2008_6.1_x86_64 und W7_6.1_X86).
Funktionsadmins teilen sich die Gesamtverantwortung für einen Host (Windows-PC oder -Server) mit den Selfadmins und den Sysadmins.
Im Regelfall sind die Sysadmins für die Konfiguration und die unten beschriebene Bereitstellung der Konfigurations-Prototypen verantwortlich, Funktions- bzw. Selfadmins sollten die Prinzipien zumindest kennen und verstehen. In bestimmten Situationen kann es sinnvoll sein, wenn der Funktions- bzw. Selfadmin selbst in der Lage ist, die Konfiguration zu verändern.
Nachfolgende Erläuterungen und Hinweise gehen von einem (fiktiven) Beispiel-Szenario aus:- Hostname:
moser
- System-Plattform:
W2008_6.1_x86_64
- der Bezeichner für eine Systemplattform setzt sich zusammen aus: <distribution>_<bs-version>_<architektur>
- Funktionsklasse:
FU_UB_LIBERO_TS_SERVER
- der Bezeichner für ein Funktionsklasse fasst alle Hosts mit identischer Funktionalität zusammen übliche Konvention für solche Bezeichner: FU_[<institution>_]<functionname>_{SERVER | WS | DEVEL_MISC}
- ein oder mehrere Funktionsadmins für alle Hosts der gleichen Funktionsklasse
- beim SelfADM?-Diensten: ein oder mehrere Selfadmins die lokale Administrationsverantwortung für jeweils einen Host der Funktionsklasse.
ROOT-Repos für Konfigurations-Prototypen
Konfigurationsfiles werden nicht direkt auf dem System gepflegt, sondern indirekt über Prototypen, die sich in geeigneten ROOT-Repositories befinden. Demzufolge ergibt sich die Änderung eines Konfigurationsfiles im Systemfilesystem durch eine Folge von Aktionen:- Erzeugen oder Ändern des Prototypen im ToSCA-Repo
- Cfengine -Wartungslauf, um den Prototyp im System zu speichern:
- entweder Stoppen/Starten des Dienstes
cfengine
oder - indirekt durch turnusmäßig per
cron
gestartete Wartungsläufe
- entweder Stoppen/Starten des Dienstes
- evtl. muss die von der Konfigurationsänderung betroffenene Systemkomponente neu gestartet werden (ist meist automatischer Bestandteil eines Cfengine -Wartungslaufes)
\\afs\tu-chemnitz.de\ToSCA\ROOTS
u:\tu-chemnitz.de\ToSCA\ROOTS
$ U: $ cd tu-chemnitz.de/ToSCA/ROOTS $ ls -d */FU_UB_LIBERO_TS_SERVER WIN7/FU_UB_LIBERO_TS_SERVER W2008_6.1_x86_64/FU_UB_LIBERO_TS_SERVER
$ U: $ cd tu-chemnitz.de/ToSCA/ROOTS $ ls -d */moser W2008_6.1_x86_64/moser
Repo-Verzeichnis | geeignet für Prototypen, die gültig sein sollen | verantwortlich |
---|---|---|
WIN7/FU_UB_LIBERO_TS_SERVER | für alle WIN7-Hosts dieser Funktionsklasse | Sysadmin, Funktionsadmin |
W2008_6.1_x86_64/FU_UB_LIBERO_TS_SERVER | für alle W2008_6.1_x86_64-Hosts dieser Funktionsklasse | Sysadmin, Funktionsadmin |
W2008_6.1_x86_64/moser | nur für diesen Host | Sysadmin, Funktionsadmin, Selfadmin |
Spezielle WIN7-Konfigurationsfiles, die für Funktionsadmins von Bedeutung sind
Definition der Paketmenge
in folgenden Konfigurationsfiles wird der Paketbestand festgelegt:-
wpm_accept.global.conf
-
wpm_accept.spec.conf
(optional) -
wpm_accept.local.conf
<paketname>
wpm_accept.local.conf
als Ergänzung zu wpm_accept.global.conf
.
Ggf. ist das Konfigurationsfile leer.
crontab
In crontab
wird festgelegt, welche Cronjobs zu welchen
Zeitpunkten gestartet werden sollen.
Für jeden Host existiert der Prototyp von crontab
.
\\afs\tu-chemnitz.de\ToSCA\ROOTS\W2008_6.1_x86_64\moser\Programme\cygwin\etc\crontab
LOG-Repos für Host-spezifische Daten
Für jeden Host wird ein LOG-Verzeichnis eingerichtet.\\afs\tu-chemnitz.de\ToSCA\LOGS\W2008_6.1_x86_64\moser
- Logfiles von
cron
-Jobs - Informationen über den aktuellen HW- und SW-Bestand des Systems
- Kopien von Konfigurationsfiles, die dynamisch während des Betriebes von bestimmten Systemkomponenten verändert werden und deshalb nicht über Prototypen gepflegt werden können, z.B.
- Ereignisprotokolle
Abhängig von Funktionalität und Einrichtung gelten folgende URLs
zu den Monitoring-Systemen.
(Detailinformationen sind nur den Funktionsverantwortlichen der Systeme zugänglich.)
Server | Entwicklungssysteme | alle anderen Einrichtungen | UBC und URZ |
---|---|---|
http://bb.hrz.tu-chemnitz.de/ | https://bb1.hrz.tu-chemnitz.de/ | https://bb2.hrz.tu-chemnitz.de/ |
Software-Repos für speziell bereitgestellte Software
Die Menge der SW-Pakete wird zunächst durch die Distribution bestimmt. Es ist möglich, darüber hinaus spezielle SW-Pakete auf einem System zu installieren. Aus verschiedenen Gründen kann es sinnvoll sein, solche SW in zentrale Repos abzulegen:- damit solche Installationen reproduzierbar sind, z.B. bei Ausfall oder Wechsel des Hosts
- weil die SW von allgemeinem Interesse ist und auf mehreren (vielen, allen) Systemen installiert werden soll