Befehl "rbacqry"
Zweck
Gibt eine Reihe verwendeter Berechtigungen und Autorisierungen für einen Prozess aus.
Syntax
/usr/sbin/rbacqry [-T |-C] -n programmname [ -i prüfdatei] -u benutzername [-t zeitraum]
/usr/sbin/rbacqry -c [-s]-u Benutzername -S
Beschreibung
Der Befehl rbacqry wird als Überwachungsdienstprogramm zum Aktivieren von RBAC (Role Based Access Control, rollenbasierte Zugriffssteuerung) für Anwendungen verwendet. Der Befehl rbacqry gibt nach der Ausführung eines Programms die vom Programm verwendeten Berechtigungen und Autorisierungen aus. Er verwendet das Prüfsubsystem, um die Berechtigungen und Autorisierungen aller Prozesse zu protokollieren, die vom Programm und seinem Erzeugerprozess erstellt werden.
Der Befehl rbacqry wird ausgeführt, wenn das System im erweiterten RBAC-Modus arbeitet. Die über diesen Bericht abgerufenen Berechtigungen können den Attributen innateprivs und inheritprivs für die Anwendung
mit dem Befehl setsecattr zugewiesen werden, was den Befehl für RBAC aktiviert. Sie können die Berechtigungen für die untergeordneten Elemente eines Prozesses konsolidieren und unter dem Attribut inheritprivs bereitstellen oder separate Einträge für die untergeordneten Elemente in der Datei /etc/security/privcmds für die RBAC-Aktivierung verwenden.
- Der Befehl rbacqry hängt von dem Prüfbericht ab, der vom AIX® -Prüfsubsystem generiert wird.
- Die Prüfklasse
rbacwird der Datei/etc/security/audit/config hinzugefügt, wenn der Befehlrbacqry -causgeführt wird. Die Prüfklasse kann manuell konfiguriert werden. - Wenn Sie Berechtigungen und Autorisierungen mit diesem Dienstprogramm verfolgen, weisen Sie die Prüfklasse
rbaceinem bestimmten Benutzer in der Datei /etc/security/audit/config zu, um zu verhindern, dass große Prüfprotokolle erstellt werden. - Der Befehl rbacqry schlägt in der Ausgabe keine RBAC-Rollen vor und stellt auch keine bereit. Der Befehl berichtet nur die Berechtigungen und Autorisierungen, die vom angegebenen Programm verwendet werden.
- Wenn Sie Shell-Scripts mit dem Tool
rbacqryverfolgen, muss der Shell-Interpreter (z. B.#!/usr/bin/ksh) in der ersten Zeile des verfolgten Scripts angegeben sein.
Flags
| Element | Beschreibung |
|---|---|
-c |
Konfiguriert die Datei /etc/security/audit/config mit der Klasse rbac für den angegebenen Benutzer. |
-C |
Gibt eine Reihe verwendeter Berechtigungen und Autorisierungen für die Prozessbaumstruktur in einer durch Kommas getrennten Liste aus. Diese Option und die Option -T schließen sich gegenseitig aus. |
-i Prüfdatei |
Gibt die Prüflistendatei an, die vom Befehl rbacqry verarbeitet werden soll. Wenn keine Datei angegeben ist, verwendet das Flag standardmäßig die Datei /audit/trail. |
-n Programmname |
Gibt den Namen des Zielprogramms an, dessen verwendete Berechtigungen verfolgt werden sollen. |
-s |
Startet das Prüfsubsystem, wenn es inaktiviert ist. Startet das Prüfsubsystem erneut, wenn es bereits aktiviert ist. |
-S |
Gibt die Ausgabe im Zeilengruppenformat aus. |
-T |
Gibt eine Reihe verwendeter Berechtigungen und Autorisierungen für die Prozesse im Baumstrukturformat aus. |
-t Zeitraum |
Gibt den Zeitraum (in Tagen) ab dem aktuellen Systemdatum an, für den der Bericht über verwendete Berechtigungen generiert werden soll. |
-u Benutzername |
Gibt den Benutzernamen an. Diese Option ist erforderlich, um die Prüfereignisse für den Benutzer zu konfigurieren und den vom Benutzer ausgeführten Prozess abzufragen. |
Exitstatus
| Fehlerwert | Beschreibung |
|---|---|
| = 0 | Der Befehl wurde erfolgreich ausgeführt. |
| > 0 | Es ist ein Fehler aufgetreten. |
Sicherheit
| Element | Beschreibung |
|---|---|
| aix.fs.manage.restore | Diese Berechtigung ist zum Ausführen dieses Befehls erforderlich. |
Beispiele
- Verwenden Sie eine der folgenden Methoden, um die Berechtigungen und Autorisierungen zu bestimmen, die von einem Programm verwendet werden:
- Wenn ein Programm oder eine Anwendung, für das bzw. die der Befehl rbacqry ausgeführt werden soll, von einem Benutzer ohne Rootberechtigung ausgeführt wird, führen Sie die folgenden Schritte aus:
- Aktivieren Sie das Programm in der Shell des Rootbenutzers oder eines autorisierten Benutzers vorübergehend für RBAC, indem Sie den Befehl
setsecattr ausführen:
setsecattr -c accessauths=ALLOW_ALL innateprivs=PV_ROOT secflags=FSF_EPS progpathHinweis: Der Programmpfad muss ein vollständiger Pfadname des Programms sein, für das der Befehl rbacqry ausgeführt wird. - Führen Sie
setkst -t cmd(als Root oder berechtigter Benutzer) aus, damit die Änderungen wirksam werden. - Führen Sie den Befehl rbacqry in der Shell von Root oder eines autorisierten Benutzers aus, um den Benutzer für die Prüfung zu konfigurieren:
rbacqry -c -s -u username - Führen Sie das angegebene Programm oder die Anwendung als Benutzer ohne Rootberechtigung aus.
- Führen Sie nach Abschluss der Programmausführung den Befehl rbacqry in der Shell von Root oder eines autorisierten Benutzers aus, um verwendete Privilegien und Berechtigungen zu erfassen:
rbacqry -n program -u username (additional options can also be used) - Entfernen Sie den Programmeintrag aus der Datei /etc/security/privcmds, der in Schritt (i) hinzugefügt wurde, indem Sie die folgenden Befehle als Root oder autorisierter Benutzer ausführen:
rmsecattr -c progpath; setkst -t cmd
- Aktivieren Sie das Programm in der Shell des Rootbenutzers oder eines autorisierten Benutzers vorübergehend für RBAC, indem Sie den Befehl
setsecattr ausführen:
- Wenn ein Programm oder eine Anwendung von einem Rootbenutzer (als Rootanmeldung oder durch Wechsel zu einem Rootbenutzer mit dem Befehl
su) ausgeführt wird und für das bzw. die der Befehl rbacqry ausgeführt werden muss, führen Sie die folgenden Schritte aus:
- Führen Sie den Befehl rbacqry in der Shell von Root oder eines autorisierten Benutzers aus, um den Benutzer für die Prüfung zu konfigurieren:
rbacqry -c -s -u root - Führen Sie das angegebene Programm oder die angegebene Anwendung als Rootbenutzer aus.
- Führen Sie nach Abschluss der Programmausführung den Befehl rbacqry in der Shell von Root oder eines autorisierten Benutzers aus, um verwendete Privilegien und Berechtigungen zu erfassen:
rbacqry -n program -u root (additional options can also be used)Hinweis: Führen Sie bei der Traceerstellung für ein Programm oder eine Anwendung, das bzw. die durch Wechseln zu einem Rootbenutzer mit dem Befehl su nach den Schritten i und ii ausgeführt wurde, den Befehl rbacqry wie folgt aus:rbacqry -n program -u user_name (additional options can also be used)
- Führen Sie den Befehl rbacqry in der Shell von Root oder eines autorisierten Benutzers aus, um den Benutzer für die Prüfung zu konfigurieren:
- Wenn ein Programm oder eine Anwendung, für das bzw. die der Befehl rbacqry ausgeführt werden soll, von einem Benutzer ohne Rootberechtigung ausgeführt wird, führen Sie die folgenden Schritte aus:
- Führen Sie den folgenden Befehl aus, um die vom Befehl chfs
(der vom Benutzer "Scooby" mit AIX-Berechtigung ausgeführt wurde) und seinen erzeugenden Prozessen verwendeten Berechtigungen und Autorisierungen in einer
Baumstrukturausgabe anzuzeigen:
# rbacqry -n chfs -u scooby -T CMD AUTHORIZATIONS USED_PRIVS ---------------------------------------------------------------------------------- chfs aix.fs.manage.change | PV_FS_RESIZE | |\extendlv aix.lvm.manage.extend | | PV_AU_ADMIN PV_KER_ACCT | | | |\putlvcb aix.lvm.manage | | | PV_FS_MKNOD PV_PROC_PRIV | | | PV_KER_LVM PV_DEV_QUERY | | | | |\lextendlv aix.lvm.manage.extend | | | PV_AU_ADD PV_AU_PROC | | | PV_FS_MKNOD PV_PROC_PRIV | | | PV_KER_ACCT PV_KER_LVM | | | PV_DEV_QUERY PV_SU_UID | | | | | |\savebase aix.system.boot.create | | | | PV_AU_PROC PV_FS_MKNOD | | | | PV_PROC_PRIV PV_KER_ACCT | | | | PV_KER_LVM PV_DEV_QUERY | | | | PV_SU_UID | | | | | | | |\compress aix.fs.manage.backup | | | | | PV_KER_ACCT PV_SU_UID | | | | | ..... - Führen Sie den folgenden Befehl aus, um die vom Befehl chfs
(der vom Benutzer "Scooby" mit AIX-Berechtigung ausgeführt wurde) verwendeten Berechtigungen und Autorisierungen über eine andere Prüflistendatei anzuzeigen:
# rbacqry -u scooby -n chfs -i /audit/trail_example CMD AUTHORIZATIONS USED_PRIVS ---------------------------------------------------------------------------------- chfs Used_Auth: PV_DAC_O PV_FS_CHOWN aix.fs.manage.change PV_FS_RESIZE Checked_Auths: - Führen Sie den folgenden Befehl aus, um eine durch Kommas getrennte Liste der vom Befehl chfs (der von Benutzer "Scooby" mit AIX-Berechtigung ausgeführt wurde) verwendeten Berechtigungen abzurufen:
Dieses Ausgabeformat ist hilfreich, wenn der USED PRIVS-Satz dem privilegierten Befehl in der Datenbank /etc/security/privcmds hinzugefügt wird.# rbacqry -n chfs -u scooby -C CMD AUTHORIZATIONS USED_PRIVS ---------------------------------------------------------------------------------- chfs aix.fs.manage.change PV_FS_RESIZE extendlv aix.lvm.manage.extend PV_AU_ADMIN,PV_KER_ACCT putlvcb aix.lvm.manage PV_FS_MKNOD,PV_PROC_PRIV,PV_KER_LVM,PV_DEV_QUERY lextendlv aix.lvm.manage.extend PV_AU_ADD,PV_AU_PROC,PV_FS_MKNOD,PV_PROC_PRIV, PV_KER_ACCT,PV_KER_LVM,PV_DEV_QUERY,PV_SU_UID savebase aix.system.boot.create PV_AU_PROC,PV_FS_MKNOD,PV_PROC_PRIV,PV_KER_ACCT, PV_KER_LVM,PV_DEV_QUERY,PV_SU_UID compress aix.fs.manage.backup PV_KER_ACCT,PV_SU_UID .......Anmerkung: Die Systemberechtigung und die angepassten Berechtigungen können verfolgt werden. Wenn die Systemberechtigungen in der Ausgabe angezeigt werden müssen, muss dem Benutzer eine höhere Berechtigung (z. B. die AIX-Berechtigung) zugewiesen werden. - Führen Sie den folgenden Befehl aus, um den Benutzer Scooby für die Prüfung zu konfigurieren:
- Führen Sie den folgenden Befehl aus, um den Benutzer zu konfigurieren und die Prüfung für diesen Benutzer zu starten:
Das Prüfsubsystem wird gestartet.#/usr/sbin/rbacqry -c -s -u scooby - Führen Sie den folgenden Befehl aus, um den Benutzer für die Prüfung zu konfigurieren, ohne die Prüfung erneut zu starten:
#/usr/sbin/rbacqry -c -u scoobyAnmerkung: Der Benutzer scooby wird vom Prüfsubsystem nicht verfolgt, weil die Prüfung nicht erneut gestartet wird. Es wird ein Eintrag für scooby in der Datei /etc/security/audit/config hinzugefügt. Sie müssen das Prüfsubsystem manuell neu starten, damit der Benutzer verfolgt werden kann, oder Sie müssen den Befehl rbacqry wie folgt ausführen:
Der Benutzer scooby ist bereits für die Prüfung konfiguriert. Das Prüfsubsystem wird gestartet.#/usr/sbin/rbacqry -c -s -u scooby
- Führen Sie den folgenden Befehl aus, um den Benutzer zu konfigurieren und die Prüfung für diesen Benutzer zu starten:
- Führen Sie den folgenden Befehl aus, um die folgende Zeilengruppe für das Format -S anzuzeigen:
# rbacqry -u scooby -n chfs -S chfs: Used_Auth=aix.fs.manage.change Checked_Auths= Used_Privs=PV_DAC_O,PV_FS_CHOWN,PV_FS_RESIZE - Führen Sie den folgenden Befehl aus, um den Befehl rbacqry ohne Formatierungsoptionen auszuführen:
# rbacqry -u scooby -n chfs CMD AUTHORIZATIONS USED_PRIVS ---------------------------------------------------------------------------------- chfs Used_Auth: PV_DAC_O PV_FS_CHOWN aix.fs.manage.change PV_FS_RESIZE Checked_Auths:Hinweis: Der Parameter checked_Auths ist leer, wenn keine Parameter checked Auths vorhanden sind. Andernfalls zeigt der Befehl rbacqry die Parameter checked_auths wie folgt an:# rbacqry -u scooby -n lsuser CMD AUTHORIZATIONS USED_PRIVS ---------------------------------------------------------------------------------- lsuser Used_Auth: PV_AZ_CHECK PV_DAC_R ALLOW_ALL PV_DAC_X Checked_Auths: aix.security.user.list aix.security.user.audit aix.security.efs
Dateien
| Dateipfad | Beschreibung |
|---|---|
| /audit/trail | Gibt die Prüfdatei für die Erfassung der Prüfprotokolle an. |