home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chaos Computer Club 1997 February
/
cccd_beta_feb_97.iso
/
chaos
/
habi1
/
txt
/
hb1_83.txt
< prev
next >
Wrap
Text File
|
1997-02-28
|
14KB
|
208 lines
~BM Grossrechner: Time Sharing ORtion {TSO`}
Dieses Kapitel behandelt die Dateruktur und die Befehle der rso (T'me SI?aring Option) des M Betriebes ms OS/M . Viele
Sachen sollten auch für die Siemens Systeme mit BS3000 und ESS (Time Sharing SystemJ nützlich sein.
1. Betriebssysteme
Unter IBM Grossrechner werden hier Computer der Serien /360, t370,
303x und 308x verstanden (Reihenfolge entspricht historischer Entwick-
lung). Für diese Rechner gibt es eine Reihe von Betriebssystemen; DOS
für klei ne Systeme (bis ca. 1 Mbyte Hauptspeicher} und OS für die Großen.
OS bzw. speziell OS/MVS ist das von IBIS am stärksten unterstützte
Produkt. Um alten Kunden das Umsteigen von DOS auf MVS (Multiple
Virtuell Storage) zu erleichtern, wurde das System VM (Virtuell Machine)
geschaffen. VM erlaubt es, eine physikalische Maschine in mehrere
logische aufzuteilen und auf jeder ein anderes Betriebssystem laufen zu
lassen (wie z.B. DOS und MVS).
2. Betriebsarten
Programme können in zwei verschiedenen Umgebungen ablaufen: Ent-
weder interaktiv am Terminal oder als Batch Job. Während der Entwick-
lung des Systems /360 wurde zum Testen die Job-Control-Language
(JCL) entwickelt. Da IBM es bis heute nicht gescham hat' die geplante
benutzerfreundliche Steuersprache zu implamentieren wird JCL immer
noch benutzt, um die Verarbeitung von Batch Jobs zu kontrollieren. Da
dieses Kapitel sich NICHT mit Batch Jobs beschäftigt, wird auf JCL hier
nicht weiter eingegangen. Zum interaktiven Arbeiten wird unter VM das
CMS (Conversational Monitor System) und unter MVS die TSO (Time
Sharing Option) benutzt. Durch einige unglückliche Design Entscheidun-
gen ist CMS so anwendungsfreundlich geworden, daß einige Benutzer
beim Umsteigen von DOS zu MVS bei VM hängengeblieben sind und nun
ihre Anwendungen unter VM fahren. Am meisten installiert ist allerdings
das TSO System unter MVS.
3. Dateistruktur
Dieser Abschn itt besch rei bt die Dateistruktu r i m Betriebssystem OSIMVS.
Dateinamen
Jede Datei besitzt einen Namen. Jeder Name besteht aus einem oder
mehreren Feldern. Jedes Feld besteht aus 1-8 alphanumerischen Zei-
chen. Dollar, ⌡ Paragraph und Nummernzeichen werden zu den
Buchstaben gezahlt. Jedes Feld beginnt mit einem Buchstaben. Felder
werden durch Punkte voneinander getrennt Die maximale Länge beträgt
44 Zeichen (einschließlich Punkte).
Extensions
Per Konvention bestehen Dateinamen oft aus: User Name, Datei Name
und Anhang (Extension). Der Anhang bezeichnet dann den Typ der Datei.
Oft benutzte Extensions sind z.B.:
ASM - Assembler Source
CLIST- Mit EXEG Befehl ausführbare TSO Kommandos
CNTL - Batch JOB: JCL. Wird mit SUBMIT Kommando gestartet
DATA - Großgeschriebener Text
FORT - FORTRAN Source
LIST - Listings
LOAD - Mit CALL Befehl ausführbare Programme
OBJ - Objekt Module. Ausgabe vom Compiler, Eingabe vom Linker
PLI - PL/1 Source
TEXT- Text mit kleinen und großen Buchstaben
Dateinamen werden in TSO in Apostrophen eingegeben. Beginnt der
Dateiname mit dem User Namen, unter dem man sich eingeieggt hat,
dann kann man Apostophe, den User Namen und den ersten Punkt
weglassen.
Beis p i ele: 'MEYER. PASSWORD.ANALYSE. ASM' od e r GA MES. LOAD
Units
Dateien können sich auf verschiedenen Speichermedien befinden: Platten
(DISK), Trommeln (DRUM), Massenspeicher (MSS), Bänder (TAPE) etc.
MSS {Mass Storage Systems) sind Archive mit vielen Magnetbandpatro-
nen, die automatisch geladen und entladen werden können. Auf 1 Patrone
paßt ca. 1t2 Platte. Zum Bearbeiten werden Dateien auf sogenannte
Staging [)isks geladen und hinterher wieder zurückgeschrieben. Einfa-
cher und schneller ist es, mit Hilfe des HSM (Hieraica! Storage Manager)
die Dateien erst auf normale Platten zu kopieren und später wieder ins
MSS zurück zu migrieren (Kommandos HRECALL und HMIGRATE). An
Stelle der genauen Gerätebezeichnungen lassen sich an vielen Stellen
die allgemeinen Namen TAPE für alle Bandeinheiten und SYSDA für alle
Plattenspeicher verwenden. Unter TSO ist normalerweise nur der Zugriff
auf Plattendateien möglich.
Catalog
Die Dateinamen und Dateiattribute werden bei Banddateien in sogenann-
ten Header und Trailer Labels und bei Plattendatein imVTOC gespeichert.
Jede Platte besitzt ein eigenes VTOC (Volume Table Of Contents). Auf
einer Platte kann jeder Name nur einmal existieren. Um den Zugriff zu
erleichtern, gibt es auch noch einen Katalog. In ihm stehen Dateinamen
und wo sich die jeweilige Datei befindet (Gerätetyp und Gerätebezeich-
nung (VOLSER oder Volume Serial}). Gibt es im System mehrere Dateien
gleichen Namens (z.B. auf verschiedenen Platten oder auf Platte und auf
Band), kann nur eine davon i m Katalog stehen. Es kann also auch
unkatalogisierte Dateien geben. Genauso ist es möglich, eine nicht
existierende Datei im Katalog einzutragen.
Attribute (Data Set Control Block, DCB)
Jede Datei besitzt eine Reihe von Attributen. Sie werden im VTOC oder
im Headerlabel gespeichert Hier werden nur die wichtigsten besprochen:
Dataset Organization (DSORG): Die meisten Dateien sind Physical Se-
quential (PS}, Direct Access (DA) oder Partitioned Organized (PO}. Über
Partitioned Datasets wird weiter unten noch gesprochen. Direct Access
ist auch bei einigen PS Dateien möglich. Weiter gibt es noch Index
Sequential (IS) und Virtual Sequential (VS) Dateien, auf die aber nur mit
speziellen Programmen zugegriffen werden kann.
Record Format (RECFM): Es gibt Dateien mit fester (F)' variabler (\~) und
undefinierter Record Größe. Feste und variabel lange Records können
gehlockt werden (FB und VB). Für FB Dateien gibt es ein Standard Format
(FBS}, bei dem keine kurzen Blöcke irn Inneren der Datei vorkommen
können (für Direct Access) Für VB Dateien gibt es die Form VBS Hier
können logische Blöcke Zylindergrenzen überlappen. Ein angehängtes
A oder M bedeutet ASA oder Maschinensteuerzeichen in der ersten
Spalte (für Zeilen- und Seitenvorschub}. Beim Record Format 'Undefined'
ist ein Record ein Block. Logical Record Length {LRECL3: Dies ist die
Grösse eines Records bei 'Fixed Langehä Dateien. Bei ALBS) Dateien ist
es die maximale Länge und bei U Format uninteressant.
Blocksize (BLKSIZE): Die Grösse eines Blocks. Sie muss bei F(8S)
Dateien ein Vielfaches von LRECL sein. Bei SIEBS} und U Dateien die
maximale Grösse eines Blocks.
Partitioned Datesets
Ein Datensatz ist immer mindestens eine Spur lang. Deswegen wurde
die Partitioned Dataset Organization (DSORG=PO) eingeführt. Ein sol-
cher Datensatz besteht aus einem Directory und durch EOFs (End Of
File) getrennte Member. Diese Member können wie normale Dateien mit
den Attributen der PO Datei benutzt werden. Hierfür wird an den
Dateinamen der Name des Members in Klammern angefügt. Z.B:
~MEYER.TEST.PLI(BEISPIEL)'
Schutzmechanismen
Dateien können auch gegen Zugriff geschützt werden. Dies wird durch
Vergabe von Passwörtern erreicht. Dieses Passwort muss bei jedem
Öffnen der Datei dem System mitgeteilt werden. Es ist Schutz gegen
Beschreiben (WPWD) und sowohl gegen Schreiben als auch Lesen
(RPWD) moglich. Unter TSO wird der Benutzer gefragt, wenn er das
Passwort nicht mitgeliefert hat. Im Batch jedoch wird der Operator
gepromptet, da es keine Möglichkeit gibt, das Passwort in der JCL
mitzuliefern. Da der Operator das Passwort nicht Weiss wenden nur die
wen Ästen Dateien so geschürt (zumi ndest gegen Lesen j. Die Passwörter
stehen in der (normalerweise) geschützten Datei 'PASSWORD'. Zusätzlich
wird der Zugang zum ISO durch ein User Passwort geschützt. Dieses
steht zusammen mit den durch das PROFILE Kommando veränderbaren
Parametern im 'SYS1.UADS' (User Attribute Dataset). Diese Datei wird
mit dem nur für einige User zugänglichem ACCOUNT Kommando gelesen
und geändert.
Ein weiteres Schutzinstrument, das allerdings primär zum Finden von
Fehlern gedacht ist, ist das Auditing. Auf der Master Konsole, die beim
Einsatz von JES (Job Entry Subsystem} allerdings oft nicht besetzt ist,
erscheint jedes Ein- bzw. Ausloggen eines Users und jeder Fehlversuch
bei der Passworteingabe (das Passwort selbst erscheint aber nicht). Alle
Konsolemeldungen werden in einem Log gespeichert. Zusätzlich wird
jedes Öffnen und Schliessen einer Datei (u v.m) von SMF (System
Measurement Facility) festgehalten. Es ist also nachvollziehbar, wenn
sich User oder Jobs merkwürdig Verhalten. l}iese Logs werden i.A.
jedoch nicht zur Analyse von versuchten oder erfolgreichen 'Einbrüchen'
benutzt. Anders sieht es mit den RACF (siehe unten} Audit Dateien aus.
In besonders gefährdeten Bereichen gibt es einen speziellen Auditor,
der z.B. die Systemprogrammierung überwachen soll.
Ein sehr viel stärkerer Schutz als durch den OS Passwortschutz kann(!}
durch den Einsatz spezieller Software wie SECURE oder RACF {P`esource
Access Control Facility) erreicht werden. RACF (das ist wohl das beste
zur Zeit} bietet nicht nur den Schub von einzelnen Dateien, sondern
überwacht auch Supervisor Calls (SVCs), Jobklassen, Geräteeinheiten
u.v.m. Es ermöglich beispielsweise sehr flexible Anforderungen an die
Passwörter zu stellen. Beispiel: Mindestens 5, höchstens 7 Zeichen. Das
1., 3. und 5. ein Buchstabe. Spätestens nach 20 Tagen oder 5 Fehleingaben
muss das Passwort geändert werden. (Beispiel Ende). Die Existenz der
Datei 'SYS1.RACF' deutet auf die Installation von RACF hin. Der Schut-
zumfang ist aber von System zu System recht unterschiedlich. Auch
schaffen es viele Installationen nicht, ihre innerbetrieblichen Abläufe auf
ein Datenschutzsystem abzustellen ("Wir haben alles geschützt, bis auf
die Systemdatein. Das ist ein Schutzumfang von ca 90%." Haha!). Und
letzten Endes hilft kein technisches System gegen Social Engineering.
Data Definition Names (DDNAME)
Programme greifen nicht über den Dateinamen sondern über einen
symbolischen File Namen fauch DDNAME genannt) auf eine Datei zu.
Dies erlaubt es, mit einem Programm auf verschiedenen Dateien zu
arbeiten, ohne das Programm zu ändern und neu übersetzen zu müssen.
Das dynamische Allozieren von Dateien ist im OS erst seit der Einführung
von MVS möglich. [)ie Verknüpfung von DDNAME und DSNAME geschieht
in der JCL mit dem DD (Data Definition) Befehl und in TSO mit dem
ALLOC Kommando. Oft benutzte DDNamen sind:
SYSIN - Eingabe
SYSPRINT- Ausgabe