Befehl "projctl"
Zweck
Unterstützt projektbasierte erweiterte Abrechnungsaktivitäten.
Syntax
projctl add projname projnumber[comment] [ { -d projpath | -p[DN] } ]
projctl merge sourceprojpath [ -d targetprojfile ]
projctl rm projname [ { -d projpath | -p[DN] } ]
projctl chg projname [ -p pid [, pid] ][-f]
projctl exec projname <cmdline>[-f]
projctl chattr agg projektname {-s|-u} [ { -d projektpfad | -p [DN] } ]
projctl qpolicy [ -g[DN] ]
projctl qproj[Projektname]
projctl qapp Anwendungsname
projctl {chkusr | chkgrp | chkprojs | {{chkadm | chkall}[-d admpath]}}
projctl ldprojs -g [ -r ] [ -a ]
projctl ldprojs -g[DN] -d projpath
projctl ldprojs -p[DN] -d projpath
projctl unldprojs -g[DN] [ -f ] [ -a ]
projctl ldadm -g[Name] [ -r ] [ -a ]
projctl ldadm -g[Name:]DN | Name ] - d admpath
projctl ldadm -p [[Name:]DN | Name ] - d admpath
projctl unldadm -p [[Name:]DN | Name ]
Beschreibung
Die verschiedenen Unterbefehle des Befehl projctl führen projektbasierte erweiterte Abrechnungsaktivitäten aus, z. B. Hinzufügen eines neuen Projekts, Entfernen eines neuen Projekts und Laden einer bestimmten Abrechnungsrichtlinie. Diese verschiedenen Optionen des Befehls projctl sind im Folgenden beschrieben.
Flags
| Element | Beschreibung |
|---|---|
| -A | Lädt die Richtlinien automatisch während des Systemneustarts. |
| -d | Gibt im Allgemeinen den Pfad an, aus dem aus die Projektdefinitionsdatei oder die Administratorrichtliniendatei verwendet werden soll. Wenn er im Unterbefehl " merge verwendet wird, gibt er die Zielprojektdefinitionsdatei an, in der die zusammengeführten Projektdefinitionen gespeichert werden sollen. |
| -F | Setzt die Richtlinienregeln außer Kraft, wenn sie mit den Unterbefehlen " chg und " exec angegeben werden. Löscht das den Prozessen zugewiesene Projekt, wenn es mit dem Unterbefehl ' unldall aufgerufen wird. Erzwingt das Entladen aller Projektdefinitionen beim Aufruf mit dem Unterbefehl ' unldprojs. |
| -G | Gibt an, dass die Projekte und Richtlinien aus dem LDAP-Repository heruntergeladen werden sollen. |
| -N | Sortiert die Liste der Projektdefinitionen anhand des Namens. |
| -p | Bei Verwendung im Unterbefehl " chg wird die Liste der Prozess-IDs übergeben, die eine Änderung der Projektzuordnung erfordern. Bei Verwendung in den Unterbefehlen " add, " rm und " chattr wird der LDAP-DN angegeben, in dem die Projektdefinition aktualisiert werden soll. Bei Verwendung in den Unterbefehlen " ld und " unld wird angegeben, dass die Projekte und Richtlinien in das LDAP-Repository hochgeladen werden sollen. Das Argument gibt den DN an, in den die Projekte und Richtlinien hochgeladen werden sollen. |
| -r | Lädt die Richtlinien erneut. |
| -s | Wird mit dem Unterbefehl projctl chattr agg verwendet, um die Projektaggregationseigenschaft zu aktivieren. |
| -u | Wird mit dem Unterbefehl projctl chattr agg verwendet, um die Projektaggregationseigenschaft zu inaktivieren. |
Parameter
| Element | Beschreibung |
|---|---|
| admpath | Der Pfad zur Auswahl der Administratorrichtliniendatei. |
| appname | Der absolute Pfad der Anwendung, deren Projektzuweisungsliste angefordert wird. |
| Befehlszeile | Der absolute Pfad des über den Befehl projctl exec auszuführenden Befehls. |
| comment | Die Projektkommentare. |
| DN | Der definierte Name, der den absoluten Pfad zum Projekt und zu den Richtlinienobjekten auf dem LDAP-Server angibt. |
| Name | Der Name der alternativen Administratorrichtliniendefinitionen auf dem LDAP-Server. |
| pid | Die Prozess-IDs. |
| projektname | Der Name des Projekts. |
| projektnummer | Der numerische Wert für das Projekt. |
| projektpfad | Der Pfad zur Auswahl der Projektdefinitionsdatei. |
| sourceprojpath | Der Pfad zur Auswahl der zusammenzuführenden Projektdefinitionsdatei. |
| zielprojProfil | Die Zielprojektdefinitionsdatei, in der die Projektdefinitionen zusammengeführt werden sollen. |
Unterbefehle
add Unterbefehl
Der Unterbefehl add
fügt die Definition des Projekts der Projektdefinitionsdatei hinzu. Wenn das Flag -d angegeben ist, wird die Projektdefinition in die Projektdefinitionsdatei unter dem angegebenen Pfad eingefügt. Standardmäßig wird die Projektdefinition der Systemprojektdefinitionsdatei /etc/project/projdef hinzugefügt. Die Projektdefinitionsdatei unter einem anderen Pfad muss mit .projdef: benannt werden. Wenn das neue Projekt der Systemprojektdefinitionsdatei hinzugefügt werden soll und die Projekte bereits im Kernel geladen sind, wird das
angegebene neue Projekt der Kernelprojektregistry hinzugefügt. Andernfalls wird der Eintrag nur in der Datei vorgenommen. Der Unterbefehl add verwendet den Projektnamen, die Projektnummer und ein Optionsargument als Parameter für Projektkommentare. Standardmäßig wird die Aggregationseigenschaft für alle Projekte, die mit diesem Befehl erstellt werden, auf no gesetzt.
Wenn " -p angegeben ist, wird die neue Projektdefinition dem Standardprojekt-DN oder dem angegebenen DN auf dem LDAP-Server hinzugefügt. Wenn ' -p nicht angegeben wird, liefert ' .config Quellenangaben. Die Ausführung der Option " -p erfordert Root-Rechte.
ProjectName:ProjectNumber:AggregationStatus::Comment:: Project Definition File
:: Dated: 23-JUN-2003
AIX:3542:yes::To Classify AIX Legacy Applications
Test_Project:0x10000:yes::To Classify Testing workUnterbefehl chattr agg
Der Unterbefehl chattr agg aktiviert und inaktiviert die Aggregationseigenschaft für das angegebene Projekt. Wenn das Flag -s verwendet wird, wird die Aggregation aktiviert. Wenn das Flag -u verwendet wird, wird die Aggregation inaktiviert. Wenn das Flag -d angegeben ist, wird die Projektdefinition in der Projektdefinitionsdatei unter dem angegebenen Pfad aktualisiert. Standardmäßig wird die Systemprojektdefinitionsdatei (/etc/project/projdef) aktualisiert. Wenn die Aktualisierung in der Systemprojektdefinitionsdatei vorgenommen wird und die Aktualisierung bereits in den Kernel geladen ist, wird das angegebene neue Projekt auch in der Kernelprojektregistry aktualisiert. Andernfalls werden die Änderungen nur in der Projektdefinitionsdatei vorgenommen.
Wenn " -p angegeben ist, wird die Projektdefinition auf dem Standardprojekt-DN oder dem angegebenen DN auf dem LDAP-Server geändert. Wenn ' -p nicht angegeben wird, .config liefert Informationen zur Quelle. Die Ausführung der Option " -p erfordert Root-Rechte.
Unterbefehl chg
Mit dem Unterbefehl chg kann der Benutzer die Liste der Projekte ändern, die der Benutzer für seine Prozesse verwenden darf. Der vorgesehene Projektname wird als Eingabe an diesen Unterbefehl übergeben. Wenn die Prozess-IDs als Eingabe bereitgestellt werden, werden diese Prozesse unter dem angegebenen Projekt klassifiziert. Wenn keine Prozess-IDs als Eingabe bereitgestellt werden, wird die Projektänderung an dem Prozess vorgenommen, der den Befehl projctl gestartet hat.
Standardmäßig ändert der Unterbefehl chg die Projektzuweisung im Rahmen der verfügbaren Regeln. Um die Regeln zu überschreiben und einem Prozess ein Projekt direkt zuzuweisen, muss die Option -f (für Erzwingen) angegeben werden.
Unterbefehl chk
Der Unterbefehl chk überprüft die Gültigkeit verschiedener Projektrichtlinien. Die Unterbefehle validieren die Projekte und Richtlinien, damit sie sicher in den Kernel geladen werden können. Für die Unterstützung verschiedener Projektrichtlinien gibt es mehrere chk-Unterbefehle. Diese Unterbefehle sind im Folgenden beschrieben:
| Element | Beschreibung |
|---|---|
| chkadm | Validiert die Administratorrichtlinien. Jede Regel in der Administratorrichtliniendatei hat gewöhnlich vier Attribute: Benutzer-ID, Gruppen-ID, Anwendungspfadname und Projektnamen. Der Unterbefehl chkadm prüft, ob diese Attribute gültig sind, und meldet alle in den Richtlinien gefundenen Fehler. Wenn die Option -d verwendet wird, verwendet der Unterbefehl chkadm die Administratorrichtliniendatei aus dem angegebenen Pfad zum Überprüfen der Regeln. Bei Bedarf werden auch der Alias- und die temporäre Projektdefinitionsdatei (.projdef) verwendet. Die in der Regel verwendeten Projekte werden zuerst in der Systemprojektdefinitionsdatei gesucht. Wenn sie dort nicht gefunden werden, wird die Datei .projdef unter dem angegebenen Pfad verwendet. |
| chkall | Führt alle zuvor genannten Validierungsaktivitäten durch, d. h., Projekte, Benutzer-, Gruppen- und Administratorrichtlinien validieren. Wenn die Option -d verwendet wird, verwendet die Unterroutine chkadll die Admin-, Alias- und Projektdefinitionsdateien aus dem angegebenen Pfad, um die Admin-Richtlinien zu überprüfen. |
| chkgrp | Validiert die Gruppenrichtlinien. Bei der Validierung wird geprüft, ob die Projektliste der Gruppe gültige Projekte enthält. |
| chkprojs | Validiert die Systemprojektdefinitionsdatei. Projektdefinitionen werden auf Eindeutigkeit und die Gültigkeit von Projektnamen, Projektnummern und Attributen überprüft. Der Projektname muss eine alphanumerische POSIX-Zeichenfolge sein und die Projektnummer muss im numerischen Bereich 0x00000001 bis 0x00ffffff liegen. Die Projektnummern können entweder Dezimalzahlen oder Hexadezimalzahlen sein. Alle Hexadezimalzahlen müssen mit dem Präfix 0x angezeigt werden. Die Aggregationseigenschaft kann entweder ein y oder ein n sein, um den Status der Aggregation anzuzeigen. Der Unterbefehl chkprojs führt alle Validitätsprüfungen für die Projektdefinitionen durch und meldet alle gefundenen Fehler in den
Projektdefinitionen. |
| chkusr | Validiert die Benutzerrichtlinien. Bei der Validierung wird geprüft, ob die Projektliste des Benutzers gültige Projekte enthält. |
Unterbefehl exec
Der Unterbefehl exec ermöglicht einem Benutzer, beliebige Befehle mit jedem der Projektnamen aus der Projektliste zu starten, für die der Befehl ausgeführt werden kann. Wird ähnlich wie die Option chg verwendet. Um die Regeln zu überschreiben und ein Projekt zum Ausführen der Befehlszeile zu verwenden, muss die Option -f (für Erzwingen) verwendet werden. Verwenden Sie den Unterbefehl projctl qapp, um die Liste der Projekte abzurufen, denen der Befehl zugewiesen werden kann.
Unterbefehl ld
| Element | Beschreibung |
|---|---|
| ld | Lädt die Richtlinien, die beim Systemstart geladen werden sollen. Zum Bestimmen der zu ladenden Richtlinien wird die Datei /etc/project/.config herangezogen. Wenn bereits eine Richtlinie oder Projektdefinition im Kernel geladen ist, kehrt dieser Befehl einfach zurück. |
| ldadm | Lädt die Administratorrichtlinien. Ähnlich wie die Unterbefehle ldusr und ldgrp
überprüft und lädt ldadm die Projekte zuerst, wenn sie noch geladen werden müssen. Danach lädt er die Administratorrichtlinienregeln, nachdem sie validiert wurden. Wenn die Option -d verwendet wird, wird die Administratorrichtliniendatei aus dem angegebenen Pfad ausgewählt. Die Alias- und die temporäre Projektdefinitionsdatei unter dem angegebenen Pfad werden verwendet, um die Existenz von Alias- und Projekteinträgen zu
überprüfen. Nachdem die Richtlinien geladen wurden, kopiert dieser Unterbefehl die Administratorrichtliniendatei auch in /etc/project/.admin. Das Laden der Verwaltungsrichtlinien im Zusammenhang mit LDAP wird durch die folgenden Argumente " -p und " -g " geregelt:
|
| ldall | Lädt Benutzer-, Gruppen- und Administratorrichtlinien in den Kernel herunter. Ähnlich wie bei den Befehlen " ldusr und " ldgrp wird mit dieser Option versucht, LDAP-Projekte herunterzuladen, wenn ein Abrechnungs-DN für Projekte angegeben wurde, da die Benutzer- und Gruppenrichtlinien nicht einzeln mit lokalen oder LDAP-Benutzern verknüpft sind. Dieser Befehl versucht, zusätzlich zur lokalen Administratorrichtlinie die Standardadministratorrichtlinie über den konfigurierten Administrator-DN herunterzuladen. |
| ldgrp | Lädt die Gruppenprojektrichtlinien. Wenn sie noch nicht geladen sind, überprüft und lädt der Unterbefehl ldgrp die Projekte zuerst. Anschließend überprüft er die Gültigkeit der Projektliste für alle Gruppen und lädt die Regeln. |
| ldprojs | Lädt die Projektdefinitionen aus der Systemprojektdefinitionsdatei /etc/project/projdef. Bevor die Projekte geladen werden, überprüft er die Gültigkeit der Regeln. Wenn die Regeln gültig sind, werden sie geladen.
|
| ldusr | Lädt die Benutzerprojektrichtlinien. Wenn sie noch nicht geladen sind, prüft und lädt der Unterbefehl lduser die Projekte zuerst. Anschließend überprüft er die Gültigkeit der Projektliste für alle Benutzer und lädt die Regeln. |
- Wenn die Option -r verwendet wird, laden alle oben genannten Unterbefehle die entsprechenden Richtlinien neu. Der Unterbefehl ld -r fragt den Kernel ab, um die Details der geladenen Richtlinien zu erhalten und lädt sie neu. Die erneut zu ladenden Richtliniendateien werden über die Datei /etc/project/.active bestimmt.
- Wenn die Unterbefehle ldadm und ldall mit den beiden Optionen -d und -r ausgegeben werden, wird -r ignoriert.
- Alle ld-Unterbefehle aktualisieren die Datei /etc/project/.active mit den Details der geladenen Richtlinie. Wenn die Option -a angegeben ist, aktualisieren diese Unterbefehle zusätzlich zur Aktualisierung der Datei .active auch die Datei /etc/project/.config. Die Datei /etc/project/.config enthält die Details zu den Richtlinien, die beim Systemneustart automatisch geladen werden.
Unterbefehl merge
Der Unterbefehl merge führt standardmäßig die in der Projektdefinitionsdatei im angegebenen Pfad definierten Projekte mit der Systemprojektdefinitionsdatei /etc/project/projdef zusammen. Wenn ein Zielprojektdateiname mit der Option -d übergeben wird, werden die Projektdefinitionen im angegebenen Pfad mit der Zielprojektdefinitionsdatei zusammengeführt. Die Zusammenführungsoperation schlägt fehl, wenn die Zielprojektdefinitionsdatei und die Projektdefinitionsdatei im angegebenen Pfad widersprüchliche Einträge enthalten. Der Befehl merge überspringt alle doppelten Einträge, um eindeutige Einträge in der Zielprojektdefinitionsdatei beizubehalten.
Unterbefehl qapp
Der Unterbefehl qapp zeigt die Liste der Projekte an, zu denen eine Anwendung in der aktuellen Umgebung wechseln kann. Er zeigt die Liste aller Projekte an, mit denen die angegebene Anwendung gestartet werden kann.
Unterbefehl qpolicy
Der Unterbefehl qpolicy zeigt die momentan geladenen Richtlinien an. Dieser Befehl fragt den Kernel ab, um die Informationen zu den Typen der geladenen Richtlinien abzurufen und anzuzeigen. Wenn " -g angegeben wird, listet dieser Befehl die Richtlinien aus dem LDAP-Standard-Admin-DN oder aus dem angegebenen DN auf.
Unterbefehl qproj
Der Unterbefehl qproj zeigt die Details des als Argument übergebenen Projektnamens an. Wenn kein Argument übergeben wird, listet dieser Unterbefehl alle Projektdefinitionen im System auf, denen der aufrufende Prozess zugewiesen werden kann. Das Anzeigeformat ist dasselbe wie das des Unterbefehls qprojs.
Unterbefehl qprojs
Der Unterbefehl qprojs zeigt die Liste aller Projektdefinitionen an, die derzeit in der Kernelregistry geladen sind. Die Option -n stellt die Liste sortiert nach Projektnamen bereit. Die Anzeige enthält den Projektnamen, die Projektnummer und den Aggregationsstatus.
Unterbefehl rm
Der Unterbefehl rm entfernt die Definition lokal definierter Projekte aus der Projektdefinitionsdatei. Wenn das Flag -d angegeben ist, wird die Projektdefinition aus der Projektdefinitionsdatei unter dem angegebenen Pfad entfernt. Standardmäßig wird sie aus der Systemprojektdefinitionsdatei (/etc/project/projdef) entfernt. Wenn sich Aktualisierung auf die Systemprojektdefinitionsdatei bezieht und diese bereits im Kernel geladen ist, wird das angegebene Projekt aus der Kernelprojektregistry entfernt. Andernfalls wird der Eintrag nur aus der Datei entfernt.
Unterbefehl unld
| Element | Beschreibung |
|---|---|
| unldadm | Entlädt die Administratorrichtlinien. |
| unldall | Entlädt alle geladenen Richtlinien. |
| unldgrp | Entlädt die Gruppenrichtlinien. |
| unldprojs | Entlädt nur die Projektdefinitionen. |
| unldusr | Entlädt die Benutzerrichtlinien. |
- Alle diese Unterbefehle aktualisieren die Datei .active, nachdem die entsprechende Richtlinie entladen wurde.
- Wenn die Option -a verwendet wird, wird die Datei /etc/project/.config ebenfalls mit dem entladenen Status der entsprechenden Richtlinie aktualisiert.
- Der Parameter " -g gibt an, dass das entsprechende LDAP-Repository aus dem Kernel entladen werden soll. Wenn ' -g nicht angegeben ist, werden die geladenen Repositories, die in der Datei ' .active genannt sind, entladen.
- Die Option " -p muss angegeben werden, um das angegebene LDAP-Repository vom LDAP-Server zu entfernen.
- Bei " unldadm und " unsubcommand gibt der Parameter name den Namen der Verwaltungsrichtlinie auf dem Verwaltungs-DN an.
Exitstatus
| Element | Beschreibung |
|---|---|
| 0 | Der Befehl wurde erfolgreich ausgeführt. |
| >0 | Es ist ein Fehler aufgetreten.
|
Beispiele
- Geben Sie Folgendes ein, um das Projekt
newprojzur Systemprojektdefinitionsdatei hinzuzufügen:projctl add newproj 34 "Test Project" - Geben Sie Folgendes ein, um das Projekt
test1aus der Projektdefinitionsdatei im Pfad/tmp/myprojzu entfernen:projctl rm test1 -d /tmp/myproj - Geben Sie Folgendes ein, um den Aggregationsstatus des Projekts
newprojzu aktivieren:projctl chattr agg newproj -s - Geben Sie Folgendes ein, um den Befehl ps im Projekt
newprojauszuführen und dabei die vorhandenen Regeln zu überschreiben:projctl exec newproj "/usr/bin/ps" -f - Geben Sie Folgendes ein, um die momentan geladenen Richtlinien abzurufen:
Ausgabe:projctl qpolicyProject definitions are loaded. Project definition file name: /etc/project/projdef User policies are loaded. - Geben Sie Folgendes ein, um die Administratorrichtlinien aus dem Pfad
/tmp/myprojzu laden:projctl ldadm -d /tmp/myproj - Geben Sie Folgendes ein, um alle Projektrichtlinien sofort und während des Systemneustarts zu entladen:
projctl unldall -a - Geben Sie Folgendes ein, um dem LDAP-Repository unter einem anderen DN ein neues Projekt hinzuzufügen. Hierbei steht DN für
ou=projects,ou=aacct,ou=cluster1,cn=aixdata:projctl add newproj 34 -p ou=projects,ou=aacct,ou=cluster1,cn=aixdata - Um die LDAP-Projekte aus dem Standard-DN in eine lokale Datei unter dem Pfad " /etc/project/ldap herunterzuladen, geben Sie ein:
projctl ldprojs -g -d /etc/project/ldap - Geben Sie Folgendes ein, um die unter der Bezeichnung
newdefim Standard-DN gespeicherten LDAP-Administratorrichtlinien in den Kernel zu laden:projctl ldadm -g newdef
Position
/usr/bin/projctl
Dateien
| Element | Beschreibung |
|---|---|
| /usr/bin/projctl | Enthält den Befehl projctl. |
| /etc/project/projdef | Enthält die Systemprojektdefinitionsdatei. |
| /etc/project/ldap/projdef | Enthält die Standard-LDAP-Projektdefinitionsdatei. |
| /etc/project/.active | Enthält den Status der momentan geladenen Richtlinien. |
| /etc/project/.config | Enthält den Status der Richtlinien, die beim Systemneustart geladen werden sollen. |
| /etc/security/ldap/ldap.cfg | Enthält die LDAP-Clientkonfigurationsdetails für die Verarbeitung von Advanced Accounting -Daten. |