Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

ADDATTR Standardwerte für Schutzattribute festlegen

Mit dieser Funktion werden Schutzattribut-Standardwerte in ein Attributguard eingetragen. Gibt es das Attributguard noch nicht, wird es implizit angelegt, wobei es den Guardtyp DEF-PATTR erhält. Im Guard-Verwaltungsteil wird der SCOPE auf *USER-ID gesetzt.

Gibt es das Attributguard bereits, weil es mit dem Kommando /CREATE-GUARD oder dem Makro CREGUA angelegt wurde, bleibt der SCOPE unverändert.

Die Funktion kann nur auf ein nicht vorhandenes oder leeres Attributguard angewendet werden. Im anderen Fall wird sie abgewiesen. Die Modifikation von Attributen in einem Attributguard muss mit der Funktion MODATTR durchgeführt werden.

Ein Anwender kann nur Attributguards für seine eigene Benutzerkennung einrichten. Ein Guard-Administrator darf Attributguards unter fremden Benutzerkennungen einrichten.

Generell gelten die spezifizierten Schutzattributwerte sowohl für den Attributbereich *CREATE-OBJECT als auch für *MODIFY-OBJECT-ATTR. Folgende Abweichungen sind dabei zu beachten:

ACCESS

Der spezifizierte Wert wird nur in den Attributbereich *MODIFY-OBJECT-ATTR eingetragen. Im Bereich *CREATE-OBJECT wird der entsprechende Wert auf *SYSSTD gesetzt. Damit wird verhindert, dass ein neu eingerichtetes Objekt standardmäßig mit dem Attribut ACCESS=READ versehen wird, bevor es überhaupt mit Daten versehen werden konnte. Sollte dieses Verhalten jedoch explizit vom Anwender gewünscht sein, muss der Attributwert explizit mit dem Kommando /MODIFY-DEFAULT-PROTECTION-ATTR modifiziert werden.

EXPIRATION-DATE

Da das Schutzattribut beim Neuanlegen eines Objektes nicht wirkt, wird der spezifizierte Wert nur in den Attributbereich *MODIFY-OBJECT-ATTR eingetragen. Im Attributbereich *CREATE-OBJECT wird der Wert auf *SYSSTD gesetzt.

FREE-FOR-DELETION

Der spezifizierte Wert wird nur in den Attributbereich *MODIFY-OBJECT-ATTR eingetragen. Im Attributbereich *CREATE-OBJECT wird der Wert auf *SYSSTD gesetzt. So soll verhindert werden, dass durch den Standardwert für FREE-FOR-DELETION ein Kennwortschutz unterlaufen wird, den eine bestehende Anwendung für Dateien vorsieht, die sie neu anlegt.

Bedeutung des Operandenwertes *SYSSTD

Der Wert *SYSSTD steht stellvertretend für einen in der hierarchisch höheren Instanz vorgegebenen Attributwert.

Die hierarchisch höhere Instanz ist

  • der pubsetglobale Regelbehälter,
    wenn ein Attributguard aus einem benutzerspezifischen Regelbehälter heraus ausgewertet wird

  • die herkömmliche Systemvoreinstellung,
    wenn ein Attributguard aus einem pubsetglobalen Regelbehälter heraus ausgewertet wird oder wenn es keinen pubsetglobalen Regelbehälter gibt.

Die folgende Tabelle zeigt, wie die spezifizierten Werte den beiden Attributbereichen zugeordnet werden:

Attribut

Attributbereich

*CREATE-OBJECT

*MOD-OBJECT-ATTR

ACCESS

*SYSTEM-STD

spezifizierter Wert

USER-ACCESS

spezifizierter Wert

spezifizierter Wert

BASIC-ACL

spezifizierter Wert

spezifizierter Wert

GUARDS

spezifizierter Wert

spezifizierter Wert

WRITE-PASSWORD

spezifizierter Wert

spezifizierter Wert

READ-PASSWORD

spezifizierter Wert

spezifizierter Wert

EXEC-PASSWORD

spezifizierter Wert

spezifizierter Wert

DESTROY-BY-DELETE

spezifizierter Wert

spezifizierter Wert

SPACE-RELEASE-LOCK

spezifizierter Wert

spezifizierter Wert

EXPIRATION-DATE

*SYSTEM-STD

spezifizierter Wert

FREE-FOR-DELETION

*SYSTEM-STD

spezifizierter Wert

Anmerkung

Der Attributbereich *MOD-OBJECT-ATTR ist nur für Dateien relevant, da die Objektverwaltung für Jobvariablen (JVS) bei der Modifikation von JV-Attributen keinen Standardschutz unterstützt.

Makro

Operanden

ADDATTR

MF =C / D / L / M / E

,PREFIX = D / <name 1>

,MACID =EFJ / <name 3>

,PARAM =<name 1..8>

,ERRMSG = *NO / *YES / <var: bit:1>

,ATTRGUA = ’ ’ / <c-string 1..24: filename 1..24 without-gen-vers> / <var: char:24>

,ACCESS =*SYSSTD / *READ / *WRITE / <var: enum-of _access_s:1>

,SHARE = *SYSSTD / *OWNER / *ALL / *SPECIAL / <var: enum-of _user_access_s:1>

,DESTROY = *SYSSTD / *NO / *YES / <var: enum-of _destroy_s:1>

,SPRLOCK =*SYSSTD / *NO / *YES / <var: enum-of _relspace_lock_s:1>

,DELDATE =structure(3):

(1) valtype: *SYSSTD / *NONE / *DATEABS / *DATEREL /

<var: enum-of _free_for_deletion_s:1>

(2) dateabs: ’ ’ / <c-string 8..10> / <var: char:10>
(3) daterel: 0 / <integer 0..99999> / <var: int:4>

,EXDATE = structure(3):

(1) valtype: *SYSSTD / *TODAY / *TOMORROW / *DATEABS / *DATEREL /

<var: enum-of _expiration_date_s:1>

(2) dateabs: ’ ’ / <c-string 8..10> / <var: char:10>
(3) daterel: 0 / <integer 0..99999> / <var: int:4>

,WRPASS = structure(2):

(1) valtype: *SYSSTD / *NONE / *VALCODE / <var: enum-of _write_pwd_s:1>
(2) code: 0 / <integer -2147483648..2147483647> / <var: int:4>

ADDATTR

,RDPASS= structure(2):

(1) valtype: *SYSSTD / *NONE / *VALCODE / <var: enum-of _read_pwd_s:1>
(2) code: 0 / <integer -2147483648..2147483647> / <var: int:4>

,EXPASS=structure(2):

(1) valtype: *SYSSTD / *NONE / *VALCODE / <var: enum-of _read_pwd_s:1>

(2) code: 0 / <integer -2147483648..2147483647> / <var: int:4>

,BASACL =structure(10):

(1) valtype: *SYSSTD / *NONE / *BASVAL / <var: enum-of _basic_acl_s:1>
(2) ownerr: *NO / *YES / <var: bit:1>
(3) ownerw: *NO / *YES / <var: bit:1>
(4) ownerx: *NO / *YES / <var: bit:1>
(5) groupr: *NO / *YES / <var: bit:1>
(6) groupw: *NO / *YES / <var: bit:1>
(7) groupx: *NO / *YES / <var: bit:1>
(8) otherr: *NO / *YES / <var: bit:1>
(9) otherw: *NO / *YES / <var: bit:1>
(10) otherx: *NO / *YES / <var: bit:1>

,GUARDS =structure(4):

(1) valtype: *SYSSTD / *NONE / *GUAVAL /<var: enum-of _guards_s:1>
(2) readgua: ’ ’ / <c-string 1..18> / <var: char:18>
(3) writgua: ’ ’ / <c-string 1..18> / <var: char:18>
(4) execgua: ’ ’ / <c-string 1..18> / <var: char:18>

Die Beschreibung der Parameter MF, PREFIX, MACID, PARAM finden Sie im Handbuch „Makroaufrufe an den Ablaufteil“ [16].

ERRMSG

Meldungsausgabe
Der Anwender kann angeben, ob aufgetretene Fehler als Meldung angezeigt werden.

=*NO

Es werden keine Meldungen ausgegeben.

=*YES

Es werden Meldungen ausgegeben.

ATTRGUA

Name des Attributguards
Dieser Operand bezeichnet den Namen des Attributguards vom Typ DEFPATTR, in dem Standardwerte für Schutzattribute spezifiziert werden. Das Guard wird neu eingerichtet, sofern es noch nicht erzeugt worden ist.


ACHTUNG!
Der Operand muss mit einem Wert versehen werden. Es dürfen nur Großbuchstaben verwendet werden!


ACCESS

Zugriffsart
Gibt an, welche Art von Zugriff auf das Objekt erlaubt ist.

=*SYSSTD

Der Attributwert wird durch die hierarchisch höhere Instanz festgelegt (siehe „Bedeutung des Operandenwertes *SYSSTD").

=*READ

Es sind nur lesende und ausführende Objektzugriffe erlaubt.
Der spezifizierte Wert gilt nur für den Attributbereich *MODIFY-OBJECT-ATTR. Für den Bereich *CREATE-OBJECT gilt grundsätzlich die Voreinstellung *SYSTEM-STD. Damit wird verhindert, dass neu einzurichtende Objekte standardmäßig mit einem Schreibschutz versehen werden, bevor sie erstmalig mit Daten versehen wurden. Ist dieses Verhalten jedoch explizit vom Anwender gewünscht, muss der Attributwert explizit mit der Funktion MODATTR modifiziert werden.

=*WRITE

Lesende, schreibende und ausführende Objektzugriffe sind erlaubt.
Der spezifizierte Wert gilt nur für den Attributbereich *MODIFY-OBJECT-ATTR. Für den Bereich *CREATE-OBJECT gilt grundsätzlich die Voreinstellung *SYSSTD.

SHARE

Mehrbenutzbarkeit
Gibt an, ob fremde Benutzerkennungen auf das Objekt zugreifen dürfen.

=*SYSSTD

Der Attributwert wird durch die hierarchisch höhere Instanz festgelegt (siehe „Bedeutung des Operandenwertes *SYSSTD").

=*OWNER

Der Zugriff auf das Objekt ist nur unter der eigenen Benutzerkennung möglich, aber unter jeder Katalogkennung, unter der die (namentlich) gleiche Benutzerkennung eingerichtet ist (d.h. nicht nur unter der Katalogkennung, unter der das Objekt eingerichtet wurde). Miteigentümer haben ebenfalls Zugriff.

=*ALL

Der Zugriff auf das Objekt ist auch unter fremden Benutzerkennungen möglich.

=*SPECIAL

Das Objekt ist für alle Benutzerkennungen einschließlich der Kennungen mit dem Privileg HARDWARE-MAINTENANCE zugänglich. Zugriffe der Wartungskennung sind generell nur möglich, wenn SHARE=*SPECIAL gilt.

DESTROY

Durchlöschen nicht mehr benötigter Daten (nur für Dateien)
Zur Erhöhung des Datenschutzes kann der Benutzer im Katalogeintrag festlegen, dass nicht mehr benötigte Daten mit X’00’ (binär Null) überschrieben werden.
Bei Plattendateien wirkt sich das auf Löschoperationen und Speicherplatzfreigabe aus (siehe Kommando /MODIFY-FILE-ATTRIBUTES und /DELETE-FILE).
Bei Banddateien wirkt sich das auf das Überschreiben von Restdaten bei EOF-\und\EOV-Verarbeitung aus (siehe Operand DESTROY-OLD-CONTENTS im Kommando /ADD-FILE-LINK).

=*SYSSTD

Der Attributwert wird durch die hierarchisch höhere Instanz festgelegt (siehe „Bedeutung des Operandenwertes *SYSSTD").

=*YES

Diese Einstellung wirkt auch, wenn im Kommando /DELETE-FILE, Operand OPTI-ON eine andere Vereinbarung getroffen wird.
Bei Plattendateien wird freigegebener Speicherplatz automatisch mit binär Null
(X’00’) überschrieben.
Bei Banddateien wird der Bandinhalt nach dem Dateiende mit binär Null (X’00’) überschrieben. Im Kommando /ADD-FILE-LINK muss das Löschen der Restdaten für den aktuellen Verarbeitungslauf nicht explizit angegeben werden.

=*NO

Bei dieser Einstellung wirkt eine im Kommando /DELETE-FILE getroffene Vereinbarung (Operand OPTION).
Bei Plattendateien wird der Speicherplatz unverändert freigegeben, wenn nicht im Kommando /DELETE-FILE der Operand OPTION=DESTROY-ALL angegeben wird.
Bei Banddateien werden die auf dem Band folgenden Restdaten nicht überschrieben, wenn im Kommando /ADD-FILE-LINK für den aktuellen Verarbeitungslauf nicht DESTROY-OLD-CONTENTS=*YES vereinbart wird.

SPRLOCK

Speicherplatzfreigabe (nur für Dateien)
Gibt an, ob die Freigabe von Speicherplatz mit dem Kommando /MODIFY-FILE-ATTRI-BUTES bzw. FILE-Makro ignoriert werden soll.

=*SYSSTD

Der Attributwert wird durch die hierarchisch höhere Instanz festgelegt (siehe „Bedeutung des Operandenwertes *SYSSTD").

=*NO

Speicherplatz kann freigegeben werden.

=*YES

Speicherplatz kann nicht freigegeben werden.

DELDATE

Freigabedatum
Legt fest, ab wann das Objekt ohne Berücksichtigung der Schutzattribute gelöscht werden darf.

valtype:

Spezifikationstyp
Angabe, wie der Attributwert spezifiziert ist

*SYSSTD

Der Attributwert wird durch die hierarchisch höhere Instanz festgelegt (siehe „Bedeutung des Operandenwertes *SYSSTD").

*NONE

Löschen nur unter Berücksichtigung der Schutzattribute möglich.

*DATEABS

Absolute Datumsangabe in Form einer Zeichenkette, ab wann ohne Berücksichtigung der Schutzattribute gelöscht werden darf.

*DATEREL

Relative Datumsangabe in Form einer Integerzahl, ab wann ohne Berücksichtigung der Schutzattribute gelöscht werden darf.

dateabs:

Datum
Die Schutzfrist wird in Form eines absoluten Datums angegeben. Das Objekt kann ab dem angegebenen Datum ohne Berücksichtigung der Schutzattribute gelöscht werden.

daterel:

Anzahl von Tagen
Die Schutzfrist wird in Form eines relativen Datums angegeben. Das Objekt kann nach der angegebenen Anzahl von Tagen ohne Berücksichtigung der Schutzattribute gelöscht werden.

EXDATE

Schutzfrist (nur für Dateien)
Bis zu dem angegebenen Datum kann die Datei nicht verändert oder gelöscht werden. Eine Schutzfrist kann nur vergeben werden, wenn die Datei bereits eröffnet wurde, das heißt, ein CREATION-DATE besitzt. Da das Schutzattribut beim Anlegen einer Datei

nicht wirkt, gilt der spezifizierte Wert auch nur für den Attributbereich *MODIFY-OB-JECT-ATTR. Für den Attributbereich *CREATE-OBJECT gilt grundsätzlich die Voreinstellung *SYSSTD

valtype:

Spezifikationstyp
Angabe, wie der Attributwert spezifiziert ist

*SYSSTD

Der Attributwert wird durch die hierarchisch höhere Instanz festgelegt (siehe „Bedeutung des Operandenwertes *SYSSTD").

*TODAY

Es wird keine Schutzfrist vergeben bzw. eine bestehende Schutzfrist wird aufgehoben, indem sie auf das aktuelle Tagesdatum gesetzt wird.

*TOMORROW

Als Schutzfrist wird das Datum des nächsten Tages vergeben.

*DATEABS

Absolute Datumsangabe in Form einer Zeichenkette

*DATEREL

Relative Datumsangabe in Form einer Integerzahl

dateabs:

Datum
Die Schutzfrist wird in Form eines absoluten Datums angegeben. Das Objekt bleibt bis zum angegebenen Datum (ausschließlich) geschützt.

daterel:

Anzahl von Tagen
Die Schutzfrist wird in Form eines relativen Datums angegeben. Die Datei bleibt für die angegebene Anzahl von Tagen geschützt.

WRPASS

Schreibkennwort
Kennwort zum Schutz vor unberechtigtem Schreiben.

valtype:

Spezifikationstyp
Angabe, wie der Attributwert spezifiziert ist

*SYSSTD

Der Attributwert wird durch die hierarchisch höhere Instanz festgelegt (siehe „Bedeutung des Operandenwertes *SYSSTD").

*NONE

Es wird kein Schreibkennwort vergeben.

*VALCODE

Es ist ein Schreibkennwort spezifiziert.

code:

Kennwort
Angabe des Kennwortes in Form einer Zahl.

RDPASS

Lesekennwort
Kennwort zum Schutz vor unberechtigtem Lesen.

valtype:

Spezifikationstyp
Angabe, wie der Attributwert spezifiziert ist

*SYSSTD

Der Attributwert wird durch die hierarchisch höhere Instanz festgelegt (siehe „Bedeutung des Operandenwertes *SYSSTD").

*NONE

Es wird kein Lesekennwort vergeben.

*VALCODE

Es ist ein Lesekennwort spezifiziert.

code:

Kennwort
Angabe des Kennwortes in Form einer Zahl.

EXPASS

Ausführkennwort
Kennwort zum Schutz vor unberechtigtem Ausführen.

valtype:

Spezifikationstyp
Angabe, wie der Attributwert spezifiziert ist

*SYSSTD

Der Attributwert wird durch die hierarchisch höhere Instanz festgelegt (siehe „Bedeutung des Operandenwertes *SYSSTD").

*NONE

Es wird kein Ausführkennwort vergeben.

*VALCODE

Es ist ein Ausführkennwort spezifiziert.

code:

Kennwort
Angabe des Kennwortes in Form einer Zahl.

BASACL

BASIC-ACL-Schutz
Aktiviert den Zugriffsschutz über BASIC-ACL.

valtype:

Indikator
Der Indikator zeigt an, wie der BASIC-ACL-Schutz spezifiziert ist.

*SYSSTD

Der Attributwert wird durch die hierarchisch höhere Instanz festgelegt (siehe „Bedeutung des Operandenwertes *SYSSTD").

*NONE

Es wird kein BASIC-ACL-Schutz verwendet.

*BASVAL

Es wird ein BASIC-ACL-Schutz aktiviert.

ownerr:

Leseberechtigung für den Eigentümer.

*NO

Eigentümer hat keine Leseberechtigung.

*YES

Eigentümer hat Leseberechtigung.

ownerw:

Schreibberechtigung für den Eigentümer.

*NO

Eigentümer hat keine Schreibberechtigung.

*YES

Eigentümer hat Schreibberechtigung.

ownerx:

Ausführberechtigung für den Eigentümer.

*NO

Eigentümer hat keine Ausführberechtigung.

*YES

Eigentümer hat Ausführberechtigung.

groupr:

Leseberechtigung für Gruppenmitglieder.

*NO

Gruppenmitglieder haben keine Leseberechtigung.

*YES

Gruppenmitglieder haben Leseberechtigung.

groupw:

Schreibberechtigung für Gruppenmitglieder.

*NO

Gruppenmitglieder haben keine Schreibberechtigung.

*YES

Gruppenmitglieder haben Schreibberechtigung.

groupx:

Ausführberechtigung für Gruppenmitglieder.

*NO

Gruppenmitglieder haben keine Ausführberechtigung.

*YES

Gruppenmitglieder haben Ausführberechtigung.

otherr:

Leseberechtigung für alle anderen.

*NO

Alle anderen haben keine Leseberechtigung.

*YES

Alle anderen haben Leseberechtigung.

otherw:

Schreibberechtigung für alle anderen.

*NO

Alle anderen haben keine Schreibberechtigung.

*YES

Alle anderen haben Schreibberechtigung.

otherx:

Ausführberechtigung für alle anderen.

*NO

Alle anderen haben keine Ausführberechtigung.

*YES

Alle anderen haben Ausführberechtigung.

GUARDS

Guards-Schutz
Aktiviert den Zugriffsschutz über GUARDS.

valtype:

Indikator
Der Indikator zeigt an, wie der GUARDS-Schutz spezifiziert ist.

*SYSSTD

Der Attributwert wird durch die hierarchisch höhere Instanz festgelegt (siehe „Bedeutung des Operandenwertes *SYSSTD").

*NONE

Es wird kein GUARDS-Schutz verwendet.

*GUAVAL

Es wird ein GUARDS-Schutz verwendet.

readgua:

Leseguard
Name des Guards für den Leseschutz.

writgua:

Schreibguard
Name des Guards für den Schreibschutz.

execgua:

Ausführguard
Name des Guards für den Ausführschutz.

Makro-Returncode

SC2 

SC1 

Maincode

Erläuterung

X’00’

X’00’

X’0000’

class A: CMD0001


X’01’

X’3100’

class B: DEF3100

X’00’
X’01’
X’02’
X’03’
X’04’
X’05’
X’06’
X’07’
X’08’
X’09’
X’0A’
X’0B’
X’0C’
X’0D’
X’0E’
X’0F’
X’10’

ungültige Parameteradresse
ungültiger Operand: ATTRGUA
ungültiger Operand: ACCESS
ungültiger Operand: SHARE
ungültiger Operand: DESTROY
ungültiger Operand: SPRLOCK
ungültiger Operand: DELDATE
ungültiger Operand: EXDATE
ungültiger Operand: WRPASS
ungültiger Operand: RDPASS
ungültiger Operand: EXPASS
ungültiger Operand: BASACL
ungültiger Operand: GUARDS
ungültiger Operand: READGUA
ungültiger Operand: WRITGUA
ungültiger Operand: EXECGUA
ungültiger Wert im reservierten Feld

X’00’

X’20’

X’3200’

class C: DEF3200

X’00’

X’40’

X’3302’

class D: DEF3302

X’00’

X’40’

X’3306’

class D: DEF3306

X’00’

X’40’

X’3308’

class D: DEF3308

X’00’

X’40’

X’3309’

class D: DEF3309

X’00’

X’40’

X’3313’

class D: DEF3313

X’00’

X’40’

X’3314’

class D: DEF3314

X’00’

X’40’

X’3315’

class D: DEF3315

X’00’

X’40’

X’3350’

class D: DEF3350

X’00’

X’80’

X’3900’

class E: DEF3900

X’00’

X’80’

X’3901’

class E: DEF3901

X’00’

X’80’

X’3902’

class E: DEF3902

Die genaue Fehlerursache kann durch Aufruf des Kommandos /HELP-MSG mit der in der Tabelle angegebenen Fehlernummer ermittelt werden, z.B. /HELP-MSG DEF3902.