Systemverwaltungshandbuch: Oracle Solaris Container - Ressourcenverwaltung und Solaris Zones

Sichtbarkeit und Zugriff in einer globalen Zone

Die globale Zone dient sowohl als Standardzone für das System als auch als eine Zone für die systemweite administrative Steuerung. Bei dieser Doppelrolle sind einige administrative Aspekte zu berücksichtigen. Da Anwendungen in der globalen Zone Zugriff auf Prozesse und andere Systemobjekte in anderen Zonen haben, können die Auswirkungen von administrativen Maßnahmen weitreichender als erwartet sein. Beispielsweise verwenden Skripten zum Herunterfahren von Services häufig den Befehl pkill, um bestimmten Prozessen das Beenden zu signalisieren. Wenn ein solches Skript in der globalen Zone ausgeführt wird, werden alle Prozesse im System angesprochen, unabhängig von der Zone, in der sie ausgeführt werden.

Dieser systemweite Geltungsbereich ist häufig erforderlich. Um beispielsweise die systemweite Ressourcennutzung zu überwachen, müssen Sie die Prozessstatistiken des gesamten Systems anzeigen. Würden nur die Aktivitäten in der globalen Zone angezeigt, fehlen wichtige Informationen aus anderen Zonen des Systems, die eventuell einen Teil oder sogar die gesamten Systemressourcen nutzen. Eine solche Ansicht ist insbesondere dann wichtig, wenn Systemressourcen wie CPUs nicht strikt mit den Funktionen der Ressourcenverwaltung partitioniert wurden.

Folglich können Prozesse in der globalen Zone Prozesse und andere Objekte in nicht-globalen Zonen überwachen. Dies gestattet diesen Prozessen, systemweit zu überwachen. Die Fähigkeit zur Kontrolle oder zum Senden von Signalen an Prozesse in anderen Zonen wird durch die Berechtigung PRIV_PROC_ZONE eingeschränkt. Diese Berechtigung ähnelt PRIV_PROC_OWNER, da es Prozessen gestattet, die Einschränkungen für nichtberechtigte Prozesse außer Kraft zu setzen. In diesem Fall besteht die Einschränkung darin, dass nichtberechtigte Prozesse in der globalen Zone keine Signale an Prozesse in anderen Zonen senden bzw. diese kontrollieren können. Dies trifft auch dann zu, wenn die Benutzer-IDs der Prozesse übereinstimmen oder der ausführende Prozess über die Berechtigung PRIV_PROC_OWNER verfügt. Die Berechtigung PRIV_PROC_ZONE kann von anderweitig berechtigten Prozessen entfernt werden, um die Maßnahmen für eine globale Zone einzuschränken.

Weitere Informationen zum Matching von Prozessen mithilfe einer zoneidlist finden Sie in den Manpages pgrep(1) und pkill(1).