Dies sind die Befehls-DACs, die beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden können
PROGRAMM:
NAME/FUNKTION
DACS – ein verteiltes Zugangskontrollsystem
ZUSAMMENFASSUNG
dacs [-v | - ausführlich] [--dumpenv] [--Lizenz] [--Version]
dacs dacs-befehl [dacsoptionen[1]] [...]
dacs-befehl [-u uri-Präfix | -uj Gerichtsbarkeitsname | A | -oben Gerichtsbarkeitsname | -uns]
[-c dacs.conf]
[-SC site.conf] [-NS Protokollierungsebene] [-Format fmt] [-q] [-t] [-DName=Wert]
[-v | - ausführlich] [--dumpenv] [--enable-dump] [--Lizenz] [--std] [--Version]
BESCHREIBUNG
Dieses Programm ist Teil des DACS Suite.
DACS ist ein universelles, webbasiertes Authentifizierungs- und Zugriffskontrollsystem. Es bietet
Single-Sign-On-Funktionalität und flexible Zugriffskontrolle auf bereitgestellte Inhalte und Dienste
durch Webserver. DACS besteht aus einem Apache Modul (mod_auth_dacs[2]), durch die Apache
kommuniziert mit DACS Um Zugangskontrollentscheidungen zu treffen, gibt es eine Reihe von CGI-Programmen
die DACS Webdienste und eine Sammlung von Dienstprogrammbefehlen, die verschiedene bereitstellen
Support- und Verwaltungsfunktionen für DACS. Einige dieser Dienstprogramme, wie z
dacshttp(1)[3] und sslclient(1)[4] sind völlig universell einsetzbar.
Die DACS Zugriffskontroll-Engine und Authentifizierungskomponenten können ebenfalls von der verwendet werden
Befehlszeile, innerhalb einer CGI-Umgebung oder völlig unabhängig vom Web.
Für wichtige Informationen über DACS, einschließlich Installationsanweisungen, finden Sie hier
dacs.readme(7)[5] und dacs.install(7)[6].
Über uns DACS
NEIN GARANTIE
Diese Software wird von Dss „wie besehen“ bereitgestellt und jegliche ausdrückliche oder stillschweigende Garantien,
einschließlich, aber nicht beschränkt auf die stillschweigenden Garantien der Marktgängigkeit und Eignung für
ein bestimmter Zweck oder die Nichtverletzung werden ausgeschlossen. In keinem Fall darf Dss sein
Haftung für direkte, indirekte, zufällige, besondere, beispielhafte oder Folgeschäden
Schäden (einschließlich, aber nicht beschränkt auf die Beschaffung von Ersatzgütern oder -dienstleistungen;
Nutzungs-, Daten- oder Gewinnverluste; oder Betriebsunterbrechung) wie auch immer verursacht und auf welchem
Theorie der Haftung, ob vertraglich, verschuldensunabhängig oder aus unerlaubter Handlung (einschließlich
Fahrlässigkeit oder sonstiges), die sich in irgendeiner Weise aus der Verwendung dieser Software ergeben, auch wenn
auf die Möglichkeit eines solchen Schadens hingewiesen.
Konventionell die Namen aller DACS Webdienste beginnen mit dem Präfix „dacs_“ (z. B.
dacs_conf). Ab Version 1.4.17 werden alle Befehle implementiert DACS Funktionalität
Beginnen Sie mit dem Präfix „dacs“ (z. B. dacsconf). Viele DACS Webdienste haben Befehl
Analoga. Die Namen von Webdiensten, die intern von verwendet werden DACS (dh sie sind
werden nie direkt von Benutzern aufgerufen) beginnen mit „local_“ (z. B. local_passwd_authenticate).
Allzweck-Webdienste und -Befehle folgen keiner anderen Namenskonvention als
keines der zuvor genannten Präfixe verwenden.
Es werden die Dokumenttypdefinitionen (DTDs) verwendet, die im Verzeichnis dtd-xsd verwaltet werden
um Dateiformate zu dokumentieren oder die Argumente zu beschreiben DACS Webservice oder dessen Antwort. In
In der aktuellen Implementierung werden diese DTD-Dateien bei der XML-Validierung nicht verwendet. Attribute
vom Typ CDATA können zusätzliche Einschränkungen für ihre Werte haben; konsultieren Sie die entsprechende
Dokumentation. Die Dateien sind technisch gesehen keine gültigen DTDs, da ihnen ein Dokumenttyp fehlt
Deklaration (DOCTYPE); Zum Zeitpunkt a wird programmgesteuert ein geeigneter DOCTYPE generiert
DTD wird ausgegeben.
Wichtig
DACS verhindert nicht bestimmte Arten von Angriffen auf Websites, wie z Verleugnung of
Attacken[7] Standortübergreifend Scripting (XSS)[8] oder Standortübergreifend Anforderung Fälschung
(CSRF)[9]. In Kombination mit geeigneten Website-Schutzmaßnahmen ist jedoch DACS
stellt Mechanismen bereit, um diese Art von Angriffen zu erschweren.
Über uns Manuell Seiten
Die technische Dokumentation für DACS besteht aus einer Reihe von Handbuchseiten. Im HTML
Sammlung, ein Index Seite[10] enthält ein Inhaltsverzeichnis und Links zu speziellen Anmerkungen
innerhalb der technischen Dokumentation sowie Listen von Variablen, Konfigurationsanweisungen usw
XML-Dokumenttypdefinitionen.
Tipp
Jede HTML-Handbuchseite enthält unten ein Tool zur Auswahl der Schriftgröße. Wenn
JavaScript ist aktiviert, die aktuell ausgewählte Schriftgröße kann geändert werden und eine globale
Präferenzsatz. Um eine Schriftgröße für die aktuelle Seite auszuwählen, klicken Sie auf eine der vier
Boxen. Um die aktuelle Auswahl für Handbuchseiten, Site-Besuche usw. zu Ihren Präferenzen zu machen.
und Browsersitzungen klicken Sie auf die Schaltfläche „Setzen“, wodurch ein HTTP-Cookie gesetzt wird. Wenn ein
Die Präferenz wurde nicht auf diese Weise festgelegt (dh es gibt kein Cookie) und eine Handbuchseite
wird mit dem Abfrageparameter besucht DACSMANFONT auf 0, 1, 2 oder 3 gesetzt (was bedeutet).
von der kleinsten zur größten Punktgröße), wird die entsprechende Schriftart ausgewählt und die
Präferenz automatisch festgelegt (wenn eine Präferenz festgelegt wurde, wird der Parameter ignoriert).
In den mit „Sicherheit“ gekennzeichneten Bereichen der Dokumentation werden wichtige Sicherheitsaspekte erörtert.
Bitte schenken Sie ihnen besondere Aufmerksamkeit. Mit „Tipp“ gekennzeichnete Bereiche geben Hinweise zur Zeitersparnis
(und manchmal die Verschlimmerung verringernden) Techniken und empfohlenen Praktiken.
In Pfadnamen und URLs, die in Beispielen vorkommen, steht der Text „…“ für Text, der Folgendes enthält
wurden weggelassen, weil sie für die vorliegende Diskussion nicht relevant sind oder variieren können
abhängig von Konfigurationsdetails, z. B. wo etwas installiert wurde (z. B.
.../dacs/bin/dacshttp).
Sofern nicht anders angegeben, sind die in den Beispielen verwendeten URLs fiktiv und werden es höchstwahrscheinlich auch nicht sein
arbeiten. Der reservierte Domainname example.com wird häufig verwendet (RFC 2606[11]).
In Anweisungen und Beispielen wird im Allgemeinen ein „%“ verwendet, um eine Befehlszeilenaufforderung zu kennzeichnen:
% Datum
So, 1. April 15:33:11 PDT 2007
Manchmal wird jedoch auch ein anderes Zeichen verwendet, um eine Eingabeaufforderung zu kennzeichnen, beispielsweise „wann“.
Demonstration des interaktiven Modus von dacsexpr(1)[12]:
> 1 + 1
2
Eine erweiterte Form von BNF Notation[13] wird verwendet, um die Syntax prägnant zu beschreiben. Wir hoffen, dass es so ist
sowohl verständlich als auch vertraut, es können jedoch einige Inkonsistenzen und Unklarheiten auftreten
in der gesamten Dokumentation; das wird langsam verbessert. Ein Begriff in einer Produktion kann
enthalten eine Spezifikation für den Typ eines regulären Ausdrucks, wobei „+“ ein oder mehrere Vorkommen bedeutet
des Begriffs und '*' null oder mehr Vorkommen. Es wird ein beliebiges Zeichen aus einer Reihe von Zeichen angegeben
in eckigen Klammern und ein Bereich aufeinanderfolgender Zeichen (in ASCII-Codefolge) ist
durch einen Bindestrich getrennt (z. B. [A-Za-z0-9\-_]+ bedeutet „ein oder mehrere alphabetische Zeichen,
Ziffern, Bindestriche oder Unterstriche“). In anderen Kontexten weisen eckige Klammern auf ein optionales Element hin
Begriff. Einfache und doppelte Anführungszeichen geben Literalzeichen an. Beachten Sie, dass XML-DTDs ihre verwenden
eigene Syntax, die etwas anders ist, und in einigen Fällen befolgte die Grammatik relevante
RFCs werden aus Gründen der Klarheit oder in Beispielen respektiert.
Wesentliche Konzepte
Einige der Schlüsselkonzepte, die im gesamten Dokument verwendet werden DACS Dokumentation werden darin definiert
.
Konto
Ein dauerhafter Datensatz, der eine Identität (oder einen Benutzernamen) mit Statusinformationen verknüpft
Informationen zum Konto (z. B. ob das Konto aktiviert oder deaktiviert ist).
das zur Authentifizierung der Identität erforderlich ist (z. B. ein Digest einer Passwortzeichenfolge),
und möglicherweise andere anmeldebezogene Informationen. Beachten Sie, dass DACS Identitäten nicht
unbedingt über ein entsprechendes Konto verfügen. DACS bietet keine Mechanismen dazu
„fremde“ Kontotypen verwalten; zum Beispiel, obwohl es sich authentifizieren kann
Sie können keine Unix- oder Windows-Konten erstellen oder auflisten.
Beglaubigung
Das Verfahren, durch das eine Person oder ein Programm Anmeldeinformationen erhält, die a darstellen DACS
Identität, normalerweise durch die Behauptung a DACS Benutzername, der eine Identität darstellt und
Bereitstellung von Informationen, die wahrscheinlich nur diese Identität kennt oder besitzt. Nach
Bei erfolgreicher Authentifizierung wird davon ausgegangen, dass sich eine Person oder ein Programm authentifiziert hat. DACS
kann mit einer Vielzahl von Authentifizierungsmethoden kommunizieren und stellt einige davon bereit
eigen; Neue Methoden können problemlos hinzugefügt werden.
Genehmigung
Das Verfahren, das in einem bestimmten Kontext bestimmt, ob eine Anfrage für eine bestimmte Anforderung vorliegt
Ressource oder Objekt sollte erlaubt sein. Wenn eine Identität berechtigt ist, a
Bei einer bestimmten Operation am Objekt wird der Zugriff gewährt, andernfalls wird er verweigert. Zugang
Kontrollregeln sind eine Methode zur Beschreibung, welche Identität(en) sein sollen
Der Zugriff auf eine bestimmte Ressource wird gewährt oder verweigert. Grobkörnige Zugriffskontrolle
Dabei wird auf hoher Ebene entschieden, ob auf ein Objekt zugegriffen werden soll
gewährt; Dies ist normalerweise eine Alles-oder-Nichts-Entscheidung. Eine feinkörnige Zugriffskontrolle ist möglich
Wird innerhalb eines Programms verwendet, um zu entscheiden, ob der Zugriff auf eine Ressource auf niedrigerer Ebene (einige Daten,
eine Verwaltungsfunktion, ein Menü) gewährt werden.
Beachten Sie, dass im Gegensatz zu einigen anderen Systemen DACS legt nicht fest, welche Ressourcen eine bestimmte
Benutzer (Identität) kann darauf zugreifen und nicht; Das heißt, ein Administrator erstellt keine Liste
welche Rechte jeder Benutzer hat. Die Autorisierung wird immer durch die Regelauswertung bestimmt.
in Echtzeit, wenn ein Benutzer eine Ressource anfordert. Die einzigen Ausnahmen hiervon sind einige
optionale Funktionen: Genehmigung Caching[14] und Rlinks[15].
Beglaubigungsschreiben
If Beglaubigung ist erfolgreich, DACS gibt Informationen zurück, die verwendet werden können
Nachfolgende Vorgänge zur Darstellung der authentifizierten Identität. Anmeldeinformationen enthalten
Informationen über die Identität, wie z. B. der Name, und Metainformationen, wie z. B. die
Zeitpunkt, zu dem die Anmeldeinformationen ablaufen und ungültig werden. Anmeldeinformationen sind geschützt
kryptografisch gespeichert, so dass sie schwer zu fälschen oder zu verändern sind. Sie müssen aufbewahrt werden
geheim, so dass die Identität von niemand anderem als ihrem Besitzer verwendet werden kann und muss
Begleiten Sie damit eine an einen Server gestellte Anfrage DACS weiß, wer die Anfrage stellt. Der
Der dafür verwendete Mechanismus ist nicht wichtig, sofern die Anmeldeinformationen dies nicht können
kopiert und wiederverwendet; Transportieren von Anmeldeinformationen mithilfe der Nutzlast eines HTTP-Cookies
Eine SSL-Verbindung ist typisch, obwohl die Anmeldeinformationen als HTTP-Wert gesendet werden
Erweiterungsheader ist eine weitere Möglichkeit.
Allerdings gibt es bisher keine spezifische Beschränkung für die Größe der Anmeldeinformationen DACS is
betroffen, da sie in einem HTTP-Cookie gekapselt und an a zurückgegeben werden können
Browser sollten die von Browsern auferlegten Einschränkungen für Cookies sorgfältig abgewogen werden.
Jede Gerichtsbarkeit kann die von einer anderen Gerichtsbarkeit erstellten Beglaubigungsnachweise verstehen
derselbe Verband. Daher muss ein Benutzer für den Zugriff nur einmal authentifiziert werden
Webdienste in jeder Gerichtsbarkeit, die diese Identität verwenden.
Beachten Sie, dass in DACS, Ausweise verleihen ihrem Inhaber keinerlei Rechte und übertragen auch keine
Genehmigung; DACS ist kein fähigkeitsbasiert System[16]. Anmeldeinformationen repräsentieren einfach
a DACS Identität.
Beziehen auf dacs_authenticate(8)[17] für Einzelheiten.
Strom Anforderung
Das Ereignis, das die von verarbeitete Autorisierungsprüfung ausgelöst hat
dacs_acs(8)[18] wird als aktuelle Anfrage bezeichnet. Für eine Anfrage für a
DACS-verpackte Webressource, dies ist die HTTP-Anfrage, die vom Web empfangen wird
Server für die Ressource. In Situationen, in denen dacs_acs ist nicht beteiligt, wie zum Beispiel wann
dacscheck(1)[19] oder dacsexpr(1)[12] verwendet werden, sind die aktuelle Anfrage und ihr Kontext
durch Befehlszeilenargumente angegeben oder aus dem abgerufen werden Ausführung
-Umgebung[20].
dacs_acs verwendet ${DACS::URI} als Pfadkomponente der aktuellen Anfrage. Es ist
erhalten von Apache uri Element des aktuellen request_rec. Dies ist die Zeichenfolge, die
wird zum Abgleich mit Zugriffskontrollregeln verwendet.
Andere DACS Komponenten ermitteln die aktuelle HTTP-Anfrage, indem sie mehrere untersuchen
Umgebungsvariablen: HTTP_HOST (oder SERVER_NAME und SERVER_PORT), REQUEST_URI,
QUERY_STRING und HTTPS.
Der Wert der ${DACS::URI} und die Pfadkomponente von ${Env::REQUEST_URI} nicht
zwangsläufig das Gleiche. Nach einer internen Weiterleitung beispielsweise ist letztere der Wert
von der ursprünglichen URL, während erstere vom Ziel der Umleitung stammt.
Die aktuelle Anforderungszeichenfolge ist wichtig, da sie zur Bestimmung der verwendet werden kann
Strom Föderation[21] und Strom Zuständigkeit[22], und weil es wann verwendet wird
Suchen nach der Zugriffskontrollregel, die auf die Anfrage angewendet werden soll.
DACS
Bestehend aus CGI-basierten Webdiensten, einem Apache 2.0/2.2-Modul und eine Sammlung von
Dienstprogramme, DACS Bietet Authentifizierungs- und Autorisierungsfunktionen. Transparent,
Für Webressourcen ist eine grobkörnige rollenbasierte Zugriffskontrolle verfügbar.
Eine programmatische, universelle rollenbasierte Zugriffskontrolle ist für praktisch jeden verfügbar
Programm (mit dacscheck(1)[19]). Dies ist vollständig von Apache entkoppelt.
DACS Administratoren.
Eine Person (oder Personen), die für die Verwaltung des Betriebs verantwortlich ist DACS is
genannt DACS Administrator (manchmal auch nur „der Administrator“). Diese Person ist
nicht unbedingt ein Systemadministrator (z. B. Superuser oder Root), wenn auch ein kleiner
Anzahl der optionalen Komponenten von DACS muss als Benutzer oder Gruppen-Root ausgeführt werden. Der DACS
Administrator muss kein Administrator sein Apache Administrator; einmal Apache konfiguriert wurde
DACS Danach sind in der Regel nur sehr wenige Änderungen erforderlich. Der DACS Administratoren.
ist für die Konfiguration und den Test verantwortlich DACS (wahrscheinlich Installation und Aktualisierung,
auch), Verwaltung von Benutzerkonten und Zugriffskontrollregeln, Gewährleistung der Sicherheit, Unterstützung
Konfigurations- und Datendateien usw. erstellen. Das Design von DACS erlaubt eine gewisse Delegation
der Verantwortung, die größtenteils auf Dateiberechtigungen basiert. Beim Aufruf als Webdienst
Jede der als a konfigurierten Identitäten ADMIN_IDENTITY[23] ist effektiv a DACS
Administrator; Der System-Superuser hat in diesem Zusammenhang keine Bedeutung.
DACS Identität
Jedem authentifizierten Benutzer wird ein Name zugewiesen, der aus dem Namen des Benutzers besteht
die authentifizierende Gerichtsbarkeit, ihren Föderationsnamen und einen Benutzernamen. Jede dieser Namen
Komponenten müssen syntaktisch korrekt sein. In manchen Kontexten lautet der Name der Föderation
implizit; manchmal ist auch der Name der Gerichtsbarkeit implizit enthalten. Entitäten wie
Einzelpersonen (Personen, aber auch Programme, Geräte usw.), Verbände, Gerichtsbarkeiten,
und Gruppen haben Namen. Die Authentifizierung liegt in der Verantwortung der jeweiligen Gerichtsbarkeiten
Benutzer. Die Syntax, Bedeutung und Einzigartigkeit von Namen ist ebenfalls eine Frage der Gerichtsbarkeit.
und vielleicht auch ein bundesweites Problem.
Jede reale Entität hat typischerweise ein Unikat DACS Identität, aber das bleibt jedem selbst überlassen
Authentifizierung von Gerichtsbarkeiten. Zwei oder mehr Identitäten sind unterschiedlich, wenn sie nicht aufeinander verweisen
an dasselbe Individuum in der realen Welt. Federated Identity oder Single Sign-On (SSO) ist das
Fähigkeit, eine Benutzeridentität über Gerichtsbarkeiten und sogar über Föderationen hinweg zu erkennen.
Wichtig
Beachten Sie dies unabhängig von der Authentifizierungsmethode und den Kontoinformationen
verwendet werden, zwei identische Benutzernamen (in Bezug auf die gleiche Gerichtsbarkeit und in Bezug auf).
Konto NAME_COMPARE[24]) sind implizit angenommen zu siehe zu gleich Identität by
DACS. Zum Beispiel jemand, der sich als Auggie authentifiziert hat, indem er das Richtige angegeben hat
Das Unix-Passwort ist praktisch nicht von jemandem zu unterscheiden, der sich als authentifiziert hat
Auggie mit einer Informationskarte. Benutzeranmeldeinformationen enthalten Informationen über die
Authentifizierungsmethode, die an ihrer Erstellung beteiligt ist, und die Benutzer()[25] Funktion kann
verwendet werden, um diese Informationen zu erhalten, aber es wäre unklug, Identitäten darauf zu stützen
Das. Es wird dringend empfohlen, ein neues zu kaufen DACS Gerichtsbarkeit entwickeln sorgfältig eine
erweiterbarer Plan für die Benutzerbenennung.
DACS-eingehüllt
Eine Webressource soll es sein DACS-wrapped, wenn der Webserver dafür verantwortlich ist
Ressourcenaufrufe DACS (genauer, dacs_acs(8)[18]), um eine Zugangskontrolle vorzunehmen
Entscheidung, wann immer eine Anfrage für die Ressource eingeht.
Föderation
A DACS Eine Föderation besteht aus einer oder mehreren Jurisdiktionen. Die Gerichtsbarkeiten umfassen
Ein Verband koordiniert den Informationsaustausch durch einfache Geschäftspraktiken
als Voraussetzung für die Mitgliedschaft in a umgesetzt DACS Föderation; mit anderen Worten, die
Mitglieder eines Verbandes verpflichten sich typischerweise zur Einhaltung bestimmter Verhaltensregeln
um die allgemeine Sicherheit zu gewährleisten und den Benutzern den größtmöglichen Nutzen zu ermöglichen. Eine Föderation
Es ist nicht ungewöhnlich, dass es nur aus einer Gerichtsbarkeit besteht.
Artikel tippe
Ein Elementtyp ist ein Name, der einem zugeordnet ist VFS[26] (virtueller Dateispeicher) Spezifikation, die
konfiguriert, wie und wo Daten gespeichert werden. Der Grad der Indirektion, den sie bieten
bedeutet, dass beispielsweise Zugriffskontrollregeln regelmäßig konfiguriert werden können
Dateien, eine Berkeley DB-Datenbank, eine Remote-Datenbank, auf die über HTTP zugegriffen wird, und so weiter – alles
Voraussetzung ist, dass der Elementtyp ACLs ordnungsgemäß konfiguriert ist. Einige Artikeltypen
(wie ACLs) sind reserviert und haben eine besondere Bedeutung DACS, während andere von verwendet werden können
a DACS Administrator für andere Zwecke. Bei einem Elementtypnamen muss die Groß-/Kleinschreibung beachtet werden
besteht aus alphanumerischen Zeichen, Bindestrichen und Unterstrichen, muss jedoch mit einem Buchstaben beginnen
Charakter.
Zuständigkeit
A DACS Gerichtsbarkeit ist eine autonome Verwaltungseinheit, die ihre Identität beglaubigt
Benutzer, stellt Webdienste bereit oder beides. Es kann einer Organisation entsprechen,
Abteilung, Webserver oder virtueller Host. Gerichtsbarkeiten werden manchmal einfach so geschaffen
eine administrative Erleichterung. Jeder Gerichtsbarkeit wird innerhalb eines einen eindeutigen Namen zugewiesen
Föderation.
Die Heimatgerichtsbarkeit eines Benutzers ist eine Gerichtsbarkeit, die diesen Benutzer authentifizieren kann. In
Situationen, in denen ein Benutzer über mehrere Anmeldeinformationen verfügt, die er von verschiedenen Benutzern erhalten hat
Gerichtsbarkeiten, die tatsächliche Heimatgerichtsbarkeit für eine Anfrage hängt davon ab, welche
Anmeldeinformationen werden während der Autorisierungsverarbeitung ausgewählt. Konfigurationsanweisungen sind
verfügbar, um die Anzahl der Anmeldeinformationssätze zu beschränken, die einer Anfrage beigefügt werden können.
Benutzer Agent
Ein Benutzeragent ist eine clientseitige Software, die mit anderer Software (einem Server) interagiert
Antrag (in der Regel) im Namen von a Benutzer. Ein Benutzer ist oft eine Person, kann es aber auch sein
Software. Ein Beispiel hierfür ist ein Webbrowser, der zur Interaktion mit einem Webserver verwendet wird
ein Benutzeragent.
Benennung
DACS muss eine Vielzahl von Dingen benennen, damit sie in Ausdrücken referenziert werden können,
Zugriffskontrollregeln, Konfigurationsanweisungen usw. Während die URI-Syntax gewohnt ist
Benennen Sie einige Arten von Objekten darin DACS, DACS verfügt auch über eigene prägnante Benennungsschemata.
Note
Die Begriffe aktueller Verband (aktuelle Gerichtsbarkeit) und dieser Verband (dieser
Jurisdiktion) werden in der Dokumentation verwendet, um auf den Verband (Jurisdiktion) zu verweisen.
mit dem aktuellen Konfigurationskontext verknüpft DACS bearbeitet eine Anfrage.
Im allgemeinen wird die Föderationsname Bestandteil eines Namens ist optional; falls nicht vorhanden, die
Es wird davon ausgegangen, dass es sich um einen aktuellen Verband handelt. Ebenso die Gerichtsbarkeitsname kann weggelassen werden und die
die aktuelle Gerichtsbarkeit wird vorausgesetzt.
Verbände
Syntax:
Föderationsname::
Beispiel:
DEMO::
Die Föderationsname (normalerweise erhalten von a FÖDERATION_NAME[27] Konfiguration
(Direktive) muss mit einem alphabetischen Zeichen beginnen, gefolgt von einer Null oder mehr
Alphanumerische Zeichen, Bindestriche und Unterstriche. A Föderationsname ist ein gewöhnlich behandelter Fall
sensibel (aber siehe die NAME_COMPARE[24] Konfigurationsanweisung und die Benutzer()[25]
Funktion für alternatives Verhalten). Es gibt kein a priori Begrenzung seiner Länge.
Die FEDATION_DOMAINDie [28]-Direktive gibt das für alle gemeinsame Domänennamensuffix an
Gerichtsbarkeiten in einer Föderation.
Jurisdiktionen
Syntax:
[[Föderationsname:: | [::]] Gerichtsbarkeitsname:
Beispiele:
DEMO::DSS:
::DSS:
DSS:
Die Gerichtsbarkeitsname (normalerweise erhalten von a JURISDICTION_NAME[29] Konfiguration
(Direktive) muss mit einem alphabetischen Zeichen beginnen, gefolgt von einer Null oder mehr
Alphanumerische Zeichen, Bindestriche und Unterstriche. A Gerichtsbarkeitsname wird üblicherweise behandelt
Beachten Sie die Groß- und Kleinschreibung (siehe jedoch die NAME_COMPARE[24] Konfigurationsanweisung und die
Benutzer()[25] Funktion für alternative Verhaltensweisen). Es gibt kein a priori Begrenzung auf seine
Länge.
Nutzer
Syntax:
[[[[Föderationsname:: | [::]] Gerichtsbarkeitsname]:Benutzername
Beispiele:
DEMO::DSS:auggie
::DSS:auggie
DSS: Auggie
:augie
Eine vollständige DACS Die Identität umfasst eine Föderationsnamenkomponente und einen Gerichtsbarkeitsnamen
Komponente, zusätzlich zu der Benutzername. Es wird bereitgestellt DACS-verpackte Programme als
Wert der DACS_IDENTITY[30] Umgebungsvariable.
Die Benutzernamenkomponente, die CGI-Programmen als Wert von zur Verfügung steht
DACS_USERNAME[31] Umgebungsvariable, besteht aus einem oder mehreren ASCII-Zeichen aus
der Satz aus Groß- und Kleinbuchstaben, Ziffern und der folgenden Interpunktion
Zeichen:
! # $ % & ' - . ; ? @ [ ^ _ ` { }
Alle Zeichen mit einem Wert kleiner als 041 (oktal) oder größer als 0176 (oktal) sind
ungültig, ebenso wie die folgenden Zeichen:
* , : + ( ) ~ < > = | \ / "
Notizen
· Zusätzlich zu den alphanumerischen Zeichen, RFC 2396[32] erlaubt nur die
folgenden Zeichen ("pchar") soll in der Pfadkomponente eines URI erscheinen:
- _ . ! ~ * ' ( ) % : @ & = + $ ,
· Einige gültige E-Mail-Adressen sind ungültig DACS Benutzernamen. Zum Beispiel,
*bob*@example.com, „(bob)“@example.com und \(bob\)@example.com sind gültig
Postfachnamen wie definiert durch RFC 822[33] (Anhang D) und diskutiert in RFC
3696[34] (Abschnitt 3), aber beide sind ungültig als DACS Benutzernamen. Sofern nicht anders angegeben,
der lokale Teil einer E-Mail-Adresse, der dem Zeichen „@“ vorangestellt ist
In der Addr-Spezifikation darf Folgendes nicht enthalten sein:
( ) < > @ , ; : \ " . [ ]
Zusätzlich das Leerzeichen und alle US-ASCII-Steuerzeichen (Oktette 0 - 31)
und DEL (127) sind nicht zulässig. Ohne Anführungszeichen kann der lokale Teil bestehen aus
eine beliebige Kombination aus Buchstaben, Ziffern oder einem der folgenden Zeichen:
! # $ % & ' * + - / = ? ^ _ ` . { | } ~
Ein Punkt („.“) darf verwendet werden, darf aber weder den lokalen Teil beginnen oder beenden, noch darf er den lokalen Teil beginnen oder beenden
Es erscheinen zwei oder mehr aufeinanderfolgende Perioden. In doppelten Anführungszeichen ein beliebiges ASCII-Zeichen
Zeichen können erscheinen, wenn sie richtig zitiert werden (z. B. Auggie).
".Ö."\'".[E-Mail geschützt] ). Die maximale Länge des lokalen Teils beträgt 64
Zeichen und die maximale Länge der Domänenkomponente, die danach erscheint
das „@“-Zeichen ist 255 Zeichen lang.
Derzeit gibt es keine Möglichkeit, a zu „zitieren“. DACS Benutzername, also eine sichere Codierung
Auf diese Namen muss eine Methode oder Transformation angewendet werden.
· DACS kann Identitäten für den internen Gebrauch erstellen, die Benutzernamenkomponenten enthalten
enthalten Zeichen, die normalerweise ungültig sind.
· EIN Benutzername Groß- und Kleinschreibung wird beachtet (siehe jedoch die NAME_COMPARE[24] Konfiguration
Richtlinie und die Benutzer()[25] Funktion für alternative Verhaltensweisen). Es gibt kein a
priori Begrenzung seiner Länge.
· Die empfohlene Vorgehensweise besteht darin, dass die Gerichtsbarkeiten ihre Daten kartieren DACS Benutzernamen zu
Geben Sie während des Authentifizierungsvorgangs nach Möglichkeit und wann immer Kleinbuchstaben an
Zuordnungen sind einzigartig. Der AUSFAHRT*Zu diesem Zweck kann die Richtlinie [35] herangezogen werden.
Groups
Syntax:
[[Föderationsname:: | [::]] %[Gerichtsbarkeitsname]:Gruppenname
A Gruppenname muss mit einem Buchstaben beginnen und kann von einer beliebigen Zahl gefolgt werden
aus alphanumerischen Zeichen, Bindestrichen („-“) und Unterstrichen („_“).
Beispiele:
%DEMO::DSS:Freunde
%::DSS:Freunde
%DSS:Freunde
%:Freunde
Rollen und Rollenbeschreibungen
Syntax:
Rollenbeschreibung -> Leerer String | Rollenliste
Rollenliste -> Rollen | Rollen "," Rollenliste
Rollen -> Grundrolle | Composite-Rolle
Grundrolle -> [A-Za-z0-9\-_]+
Composite-Rolle -> Grundrolle "/" Grundrolle | Grundrolle "/" Composite-Rolle
Leerer String -> ""
Eine Rollendeskriptorzeichenfolge (auch Rollenzeichenfolge oder Rollendeskriptor genannt) besteht aus
eine durch Kommas getrennte Liste von Rollen. Der Name einer Rolle (a Grundrolle) besteht aus
Groß- und Kleinbuchstaben, Ziffern, Bindestriche und Unterstriche. A Composite-Rolle is
aus zwei oder mehr aufgebaut Grundrolle Begriffe, getrennt durch einen Schrägstrich. Hier
sind drei Beispiele für einen Rollendeskriptor:
admin,wheel,root
Admin/Hardware
Netzwerke/Programmierung, Informatik/Systeme/Project_X
Note
Eine Rollenbeschreibungszeichenfolge enthält keine Leerzeichen und darf nicht mit oder beginnen
mit einem Komma oder Schrägstrich enden. Zwei oder mehr aufeinanderfolgende Kommas sind unzulässig,
ebenso wie zwei oder mehr aufeinanderfolgende Schrägstriche.
Die setvar()Die Funktion [36] kann verwendet werden, um eine zusammengesetzte Rolle in ihre Grundrolle zu zerlegen
Rollen.
Bitte beachten Sie dacs.groups(5)[37] für weitere Informationen.
Prägnante Benutzersyntax
Syntax:
ident -> '{' kwv-Liste '}' | Benutzer
kwv-Liste -> kwv [',' kwv]*
kwv -> kwv-Benutzer | kwv-Gruppe | kwv-attr | kwv-ip | kwv-läuft ab
kwv-Benutzer -> 'u=' [Q] Benutzer [Q]
kwv-Gruppe -> 'g=' [Q] Gruppen [Q]
kwv-attr -> 'a=' [Q] attr [Q]
kwv-läuft ab -> 'e=' [Q] abläuft [Q]
kwv-ip -> 'ip=' [Q] IP-Adresse [Q]
Benutzer -> einfacher Name | DACS-Identität
Gruppen -> Gruppe [',' Gruppe]*
Gruppe -> Gruppenname | Rollenbeschreibung
attr -> beliebig alphabetisch
IP-Adresse -> beliebige-IP-Adresse
abläuft -> +rel-Sek | Datum
wo:
· Q ist ein optionales (passendes) Anführungszeichen;
· Leerzeichen können optional vor den meisten Token stehen;
· ein DACS-Identität ist eine vollständige oder abgekürzte Angabe DACS Identität[38]
· ein einfacher Name lernen muss die Benutzername Bestandteil von a DACS Identität (d. h. ohne jegliche
Doppelpunkte); Folglich wird in diesem Zusammenhang ein „spezieller“ Name, wie z. B. auth, behandelt
als :auth
· Rollenbeschreibung muss gültig sein DACS Rollenzeichenfolge und Gruppenname muss gültig sein
DACS Gruppenname (siehe dacs_authenticate(8)[39] und dacs.groups(5)[40]);
· Eine IP-Adresse wird in der standardmäßigen numerischen Punktschreibweise des Internets ausgedrückt (z. B.
10.0.0.1); und
· Die Lebensdauer der von der Identität abgeleiteten Anmeldeinformationen kann entweder als ausgedrückt werden
eine bestimmte Anzahl von Sekunden (z. B. „e=+3600“) oder ein bestimmtes Datum in einem der folgenden Beispiele
Formate (siehe strptime(3)[41]):
%a, %d-%b-%Y %H:%M:%S GMT
%d-%b-%Y
%b %d, %Y
%b %d
%Y-%m-%dT%H:%M:%SZ
Bei Bedarf werden Datumsangaben relativ zur aktuellen Uhrzeit oder zum aktuellen Datum interpretiert. Der
Die Lebensdauer wird in ihre kanonische Form umgewandelt, die die absolute Zeit und das absolute Datum darstellt
in Sekunden seit der Epoche, basierend auf der Uhr der Gerichtsbarkeit. Ein Datum in der Vergangenheit
kann angegeben werden; Dies kann beispielsweise zum Testen nützlich sein. Wenn die Identität
nicht zum Erstellen von Anmeldeinformationen verwendet wird, wird das Ablaufdatum ignoriert, obwohl es so sein muss
syntaktisch korrekt.
· Der einzige unterstützte Attributwert ist „a“, was bedeutet, dass die Identität sein sollte
behandelt als ein ADMIN_IDENTITY[23] (siehe -Administrator Flagge von dacscheck(1)[19]).
Ein in prägnanter Syntax ausgedrückter Name gibt einen Benutzernamen und optional Rollen und an
Attribute für die Identität. Es wird verwendet von dacscheck(1)[19] zum Beispiel.
Die dacs Dienstprogramm
DACS Dienstprogrammbefehle werden normalerweise als separate Binärdateien installiert, aber DACS kann (auch oder
stattdessen) erstellt werden, wobei die meisten davon in einer einzigen Binärdatei zusammengefasst werden, die als installiert wird
dacs. Die verschiedenen Dienstprogramme können dann wie folgt ausgeführt werden:
% DACS dacs-befehl [dacsoptionen] [Befehlsoptionen]
Beispielsweise:
% dacs dacskey -u foo.myfed.com-Ausgabedatei
Ausführen der dacs Ein Dienstprogramm ohne Argumente zeigt die Liste der verfügbaren Unterbefehle an.
anfang In Bearbeitung
brauchen DACS Programme führen beim Start die folgenden Aktionen aus:
1. Bestimmen Sie den „Modus“, in dem sie arbeiten sollen; zum Beispiel, wenn die REMOTE_ADDR
Wenn eine Umgebungsvariable vorhanden ist, gehen Programme im Allgemeinen davon aus, dass sie als ausgeführt werden sollten
Webanwendung und nicht als Dienstprogrammbefehl
2. Verarbeiten Sie einen Standardsatz von Befehlszeilenargumenten (dacsoptionen[einer])
3. Setzen Sie die Prozess-umask auf 007, um den weltweiten Zugriff für alle erstellten Dateien zu verbieten
4. Deaktivieren Sie einen Core-Dump, damit vertrauliche Informationen nicht durch die Untersuchung preisgegeben werden können
(aber sehen --enable-dump[einer])
5. Verweigern Sie den Betrieb, wenn eine Konfigurationsdatei nicht gefunden werden kann oder einen Fehler aufweist
6. Für Webdienste erstellen Sie Folgendes DACS Home-Verzeichnis das aktuelle Arbeitsverzeichnis
7. Wenn der „sichere Modus“ aktiviert ist, verarbeiten Webdienste nur HTTPS-Anfragen
8. Stellen Sie sicher, dass die für eine Anfrage erforderliche Version mit der Version von kompatibel ist DACS
Erhalt der Anfrage
9. Verarbeiten Sie alle programmspezifischen Befehlszeilenargumente.
DACS Programme bemühen sich, vertrauliche Informationen (z. B. Passwörter) so schnell wie möglich zu zerstören
da es nicht mehr benötigt wird und potenziell sensible Informationen nicht in Protokolldateien geschrieben werden
sofern nicht ausdrücklich dafür konfiguriert.
Interne
Manche DACS Komponenten können andere Komponenten über HTTP aufrufen (möglicherweise über SSL, je nachdem).
Aufbau). Beispielsweise können Authentifizierungsmodule als Webdienste aufgerufen werden
dacs_authenticate(8)[39]. In allen Fällen führen diese „internen“ HTTP-Aufrufe möglicherweise nicht zu einem
Weiterleitung, beispielsweise über den Statuscode 302 Found. Obwohl dies manchmal ein Problem sein kann
Unannehmlichkeiten, es handelt sich zum Teil um eine Sicherheitsmaßnahme.
Tipp
Beim Debuggen eines Problems, das möglicherweise eine interne HTTP-Anfrage beinhaltet (insbesondere im Zusammenhang mit
zur Authentifizierung), überprüfen Sie dies DACS erhält keine Weiterleitung. Internes HTTP
Anfragen können auch auf mysteriöse Weise aufgrund einer falschen oder unvollständigen Konfiguration fehlschlagen
von SSL-Parametern. Interne HTTP-Anfragen über SSL-Nutzung sslclient(1)[4], ebenso wie die
dacshttp(1)[3] Befehl. Wenn Sie vermuten, dass eine https-basierte URL möglicherweise nicht funktioniert,
Debuggen Sie das Problem mit sslclient und dann dacshttp.
Um die Datenkonsistenz zu wahren, DACS Erstellt exklusive Sperren mithilfe von fktl(2)[44] System
Rufen Sie Dateien auf, die in das über die konfigurierte Verzeichnis geschrieben wurden TEMP_DIRECTORY[45]
Richtlinie.
Protokollierung
brauchen DACS Dienste und Dienstprogramme schreiben verschiedene Arten von Nachrichten in eine oder mehrere Protokolldateien.
Diese Nachrichten können von unschätzbarem Wert sein, wenn Sie herausfinden möchten, was passiert DACS tut, z
Sicherheitsaudits, oder um zu sehen, welche DACSAuf umschlossene Ressourcen wird zugegriffen und in was
Wege.
Bitte beachten Sie dacs.conf(5)[46] für Informationen zu Konfigurationsanweisungen im Zusammenhang mit
Protokollierung. Eine Reihe von Befehlszeilenflags, die unten beschrieben werden, beziehen sich auch auf
Protokollierung.
Note
· DACS kann Protokollmeldungen ausgeben, bevor die Konfigurationsverarbeitung abgeschlossen ist und
Konfigurationsanweisungen im Zusammenhang mit der Protokollierung sind währenddessen nicht wirksam
Startintervall.
· Weil mod_auth_dacs[2] ist ein Apache Modul, das Apache Es gelten die Protokollierungsrichtlinien
dazu (und nicht die DACS Anweisungen) und seine Protokollnachrichten werden geschrieben Apache Log
Dateien.
· Protokolldateien können schnell groß werden, insbesondere wenn die Protokollierungsstufe auf eingestellt ist
Debug- oder Trace-Ebenen. Erwägen Sie eine tägliche Rotation oder Kürzung.
· Der Text einer Protokollmeldung kann sich gelegentlich über mehrere Zeilen erstrecken.
Der Standardwert der LOG_FORMAT[47]-Direktive, die das Erscheinungsbild des Protokolls steuert
Nachrichten, ist in include/local.h als LOG_FORMAT_DEFAULT_WEB für definiert DACS Web-Services
und LOG_FORMAT_DEFAULT_CMD für alles andere. Hier ist eine typische Protokollmeldung:
[Mittwoch 12. Juli 12:37:09 2006] [trace] [83648,1060,-] [dacs_acs:"acslib"] Zulassen
Klausel gewährt Zugriff
Audit-Klasse Log Chat-Funktion
Bei Nachrichten der Prüfklasse kann manchmal eine Zeichenfolge in Klammern folgen
eine Identität, wie in den folgenden Beispielen. Diese Zeichenfolge, Tracker genannt, ordnet das Protokoll zu
Nachrichten mit einem bestimmten Ursprung und können verwendet werden, um die Reihenfolge eines Benutzers zu verfolgen
Serviceanfragen mithilfe von Protokollnachrichten in einem Verbund. Dies kann nützlich sein, wenn
Debugging, Suche nach Sicherheitsproblemen oder forensische Analyse.
Für einen nicht authentifizierten Benutzer kann der Tracker nur heuristisch abgeleitet werden
Elemente des Ausführungskontexts. Die IP-Adresse des Benutzers, die Benutzeragentenzeichenfolge und SSL
Es werden, sofern verfügbar, Client-Zertifikate verwendet. Wenn zwei dieser Tracker-Strings unterschiedlich sind,
Die Anfragen kommen normalerweise von verschiedenen Hosts, Browsern oder Benutzern, aber dies ist der Fall
ist nicht unbedingt immer der Fall. Ebenso, wenn die gleiche Tracker-Zeichenfolge vorliegt
Mit zwei Protokollnachrichten verbunden, müssen die Dienstanforderungen nicht unbedingt vorhanden sein
vom selben Benutzer ausgestellt.
Für einen authentifizierten Benutzer besteht die Tracker-Zeichenfolge aus heuristisch abgeleiteten Daten
Zeichenfolge, gefolgt von einem Komma, gefolgt von einer Zeichenfolge, die eindeutig mit der des Benutzers verknüpft ist
Referenzen. Es besteht eine hohe Wahrscheinlichkeit, dass dieser Tracker einzigartig ist und über eine verfügt
Eins-zu-eins-Zuordnung mit einem bestimmten Benutzer.
Betrachten Sie diese (komprimierten) Protokolldateieinträge:
[Mittwoch 12. Juli 15:56:24 2006] [Hinweis] [83963,1067,A] [dacs_acs:"authlib"]
*** Zugriff für nicht authentifizierte Benutzer (7vJLWzv5) ab 10.0.0.124
für /cgi-bin/dacs/dacs_current_credentials
[Mittwoch 12. Juli 15:56:27 2006] [Hinweis] [83965,1073,A] [dacs_acs:"authlib"]
*** Zugriff für nicht authentifizierte Benutzer (7vJLWzv5) ab 10.0.0.124
für /cgi-bin/dacs/dacs_authenticate
[Mi, 12. Juli 15:56:27 2006] [debug] [83966,172,A] [dacs_authenticate:"authlib"]
Authentifizierung für HOME:bobo (7vJLWzv5,wA/Pudyp3f0) erfolgreich
[Mittwoch 12. Juli 15:56:30 2006] [Hinweis] [83973,1078,A] [dacs_acs:"authlib"]
*** Zugriff gewährt auf DSS::HOME:bobo (7vJLWzv5,wA/Pudyp3f0)
ab 10.0.0.124 für /cgi-bin/dacs/dacs_current_credentials
In den ersten beiden der oben genannten Protokollmeldungen erscheint der Tracker 7vJLWzv5, was bedeutet, dass
Die beiden Anfragen kamen wahrscheinlich vom selben (nicht authentifizierten) Benutzer. Mit dem dritten
Log-Nachricht, der Benutzer wurde authentifiziert und der Tracker 7vJLWzv5,wA/Pudyp3f0 ist
gebraucht. Da diese Tracker alle das gleiche Präfix haben, werden die ersten beiden Anfragen gestellt
kam wahrscheinlich auch von jemandem, der sich als DSS::HOME:bobo authentifiziert hat. Die letzte Bitte,
für /cgi-bin/dacs/dacs_current_credentials, stammte definitiv von diesem Benutzer. Wenn dies
Der Benutzer müsste sich abmelden und dann irgendwo in der Föderation weitere Serviceanfragen stellen
DSS, jede Protokollnachricht würde den Tracker 7vJLWzv5 enthalten.
Sicherheit
Es ist schwierig, die Anfragen anonymer Benutzer zuverlässig zu verfolgen. A
Ein Cookie-basierter Ansatz kann in manchen Situationen besser sein, hat aber seine eigenen Nachteile
(z. B. völlig wirkungslos, wenn der Benutzer Cookies deaktiviert hat).
Tracking Mitglied Aktivität
DACS Enthält eine Funktion, die als Build-Time-Option aktiviert ist (siehe dacs.install(7)[48]), wobei
Eine Gerichtsbarkeit kann die Aktivitäten aller ihrer Benutzer verfolgen (d. h. derjenigen Benutzer, die
vor Ort beglaubigen). Bei jedem erfolgreichen Authentifizierungsereignis erfolgt eine explizite Abmeldung
Ereignis und vom Benutzer übermittelte Webservice-Anforderungsereignisse können beim Benutzer zu Hause aufgezeichnet werden
Gerichtsstand in dem von definierten Format dacs_user_info.dtd[49]. Diese Informationen können sein
wertvoll, um besser zu verstehen, was in einer Föderation passiert,
einschließlich der Unterstützung bei der Diagnose von Leistungs- und Sicherheitsproblemen. Es ist die Grundlage der Funktionen
B. Anzeigen der letzten Kontoaktivitäten, und es kann auch zum Erstellen neuer Konten verwendet werden
Funktionen wie ein gleichzeitiges Login-Limit oder eine adaptive Authentifizierungskomponente
Implementieren Sie eine mehrschichtige Authentifizierung oder eine risikobasierte Authentifizierung.
Um anzugeben, wo und wie eine Heimatgerichtsbarkeit diese Aufzeichnungen verwalten soll, wird die user_info
Der Artikeltyp muss in dieser Gerichtsbarkeit definiert sein. Wenn es nicht definiert ist, werden keine Datensätze erstellt
in dieser Gerichtsbarkeit geschrieben, obwohl die Gerichtsbarkeit weiterhin versuchen wird, ein Ereignis zu senden
Aufzeichnungen in andere Gerichtsbarkeiten. Für den größtmöglichen Nutzen sollte die Funktion überhaupt aktiviert sein
Gerichtsbarkeiten in einer Föderation, da dann alle Benutzeraktivitäten in der gesamten Föderation möglich sind
protokolliert werden.
Wenn eine Gerichtsbarkeit die Aktivitäten ihrer Benutzer in anderen Gerichtsbarkeiten überwachen möchte, muss sie dies tun
muss es diesen Gerichtsbarkeiten gestatten, sich darauf zu berufen dacs_vfs(8)[50] Dienst durch Hinzufügen eines
entsprechende Zugriffskontrollregel.
Sicherheit
Es ist von entscheidender Bedeutung, dass eine solche Regel dies vorschreibt dacs_admin()[51] Prädikat.
Note
· Das dacs_admin(8)[52] tools bietet eine Schnittstelle zu diesen Datensätzen. Es sollte
schließlich erweitert werden, um in allen Gerichtsbarkeiten gefundene Aufzeichnungen zu sammeln und zu organisieren
in einem Verband, um die Analyse zu erleichtern. Da es sich um Textdateien mit einem handelt
Da das Format relativ einfach ist, sollte es für Administratoren keine Schwierigkeiten bereiten, es anzuwenden
Benutzen Sie hierfür gängige Textverarbeitungswerkzeuge oder schreiben Sie kurze, individuelle Programme.
Befehle analog zu letzte(1)[53] WER(1)[54] und sa(8)[55] werden in Betracht gezogen.
· Jede Gerichtsbarkeit sollte Aufzeichnungen an ihrem eigenen Ort (d. h. Gerichtsbarkeiten) schreiben
sollte nicht dasselbe VFS-Objekt für user_info teilen).
· Diese Datenbank wird auf unbestimmte Zeit wachsen; Für die Rotation ist ein Administrator verantwortlich
oder es abschneiden. Wenn vorherige und aktive Anmeldeinformationen wichtig sind (siehe
dacs_current_credentials(8)[56]), bereinigen Sie nur die Anforderungsdatensätze (d. h. die ACS
Elemente). Eine andere akzeptable Methode besteht darin, einen Teil davon zu verwerfen (oder zu archivieren).
Bewahren Sie ältere Aufzeichnungen auf (z. B. die Hälfte) und behalten Sie einige der neueren Aufzeichnungen.
· Das Datenformat kann sich ändern.
· Eine Anweisung zum Aktivieren oder Deaktivieren dieser Funktion zur Laufzeit kann hinzugefügt werden.
· Interne Verwaltungsereignisse werden nicht erfasst.
· Weil das Abmelden (via dacs_signout(8)[57]) ist optional, das Ende einer Sitzung
kann manchmal nur aus dem Ablauf der Berechtigungsnachweise abgeleitet oder angenähert werden
der Zeitpunkt des letzten aufgezeichneten Ereignisses.
OPTIONAL
DACS Programme und Webdienste erhalten einen Großteil ihrer Laufzeitkonfigurationsinformationen von
Lesen von Konfigurationsdateien und Untersuchen von Umgebungsvariablen. Einige Konfigurationen
Informationen können zur Kompilierungszeit bereitgestellt werden. Dazu können mehrere Befehlszeilenflags verwendet werden
Standardverhalten überschreiben.
Note
· Alle dacsoptionen Flags werden von links nach rechts verarbeitet und müssen vor allen erscheinen
befehlsspezifisches Flag oder Argument. Das erste Flag oder Argument, das nicht vorhanden ist
als einer der anerkannt dacsoptionen beendet die Liste.
· Das wichtigste dacsoptionen sind solche, die den Standort angeben
Konfigurationsdateien und identifizieren Sie den Gerichtsbarkeitsabschnitt, der in a verwendet werden soll
Konfigurationsdatei. Abhängig vom Programm und seiner Verwendung, Konfiguration
Informationen sind möglicherweise nicht erforderlich, optional oder erforderlich.
· Höchstens eines der Befehlszeilen-Flags zur Auswahl eines Gerichtsbarkeitsbereichs kann sein
angegeben. Beziehen auf dacs.conf(5)[46] für weitere Informationen zum
Konfigurationsdatei und Konfigurationsverarbeitung.
Viele DACS Dienstprogramme erkennen die folgenden Standardoptionen, die aufgerufen werden
dacsoptionen:
-c dacs.conf
Das sagt DACS wo es eine Konfigurationsdatei für die Gerichtsbarkeit finden kann, in deren Zuständigkeitsbereich
in dessen Namen es handelt. Wenn dieses Argument nicht vorhanden ist, je nachdem, wie es erstellt wurde,
DACS kann entweder versuchen, eine zur Kompilierungszeit angegebene Datei zu verwenden, oder es wird versuchen, die zu verwenden
Wert der Umgebungsvariablen DACS_CONF[58]. Einzelheiten finden Sie unter Lokalisierung
dacs.conf und site.conf[59].
-DName=Wert
Die Wirkung dieses Flags besteht darin, eine Variable zu definieren Name (muss syntaktisch gültig sein)
begann DACS Namespace, um den Wert zu haben Wert. Irgendwelche Zitate in der Nähe Wert bleiben erhalten,
vorausgesetzt, die Schale hat sie nicht bereits abgestreift. Dieses Flag kann wiederholt werden. Diese
Variablen können anschließend während der Konfigurationsverarbeitung und -regelung getestet werden
wird bearbeitet; Beispielsweise könnte der Wert einer Konfigurationsanweisung davon abhängen
Wert von a dacsoptionen Flagge. Definieren eines Name das entspricht zufällig a
dacsoptionen Flag hat außer der Erstellung der Variablen keine Auswirkung.
Alle dacsoptionen Flaggen (ohne fehlen uns die Worte. dank One) werden automatisch hinzugefügt DACS
Namespace, während sie verarbeitet werden. Eine Flagge, die ein „Singleton“ ist (z. B. -q) ist zunächst
wird der Wert eins zugewiesen und bei jedem weiteren Auftreten erhöht. Eine Flagge von
die Form -Flagge Wert entspricht -D-Flagge=Wert. Nicht verwendete Flags sind undefiniert; Wenn -q
ist nicht gegeben, ${DACS::-q} wird nicht definiert. Für die Flaggen, die Synonyme haben, a
Für jedes Synonym wird eine Variable erstellt. Wenn die Name wird explizit oder implizit verwendet,
Spätere Werte ersetzen frühere.
Zum Beispiel, wenn der dacsoptionen sind:
-c www.example.com -v --verbose -Dfoo="baz" -ll debug -D-ll=trace
dann werden Variablen wie folgt definiert:
${DACS::-c} ist „www.example.com“
${DACS::-v} ist „2“
${DACS::--verbose} ist „2“
${DACS::foo} ist „\“baz\““
${DACS::-ll} ist „trace“
Die Debugging-Ebene ist Debug und nicht Trace.
--dumpenv
Geben Sie alle Umgebungsvariablen auf stdout aus und beenden Sie den Vorgang dann sofort.
--enable-dump
Standardmäßig DACS Webdienste und die meisten Befehle deaktivieren die Core-Dump-Generierung als
Sicherheitsvorkehrung. Da ein Core-Dump beim Debuggen nützlich sein kann, wird dieses Flag verwendet
ermöglicht die Erstellung. B. Programme, die einen Core-Dump erzeugen dürfen
zu ändern DACS_HOME Verzeichnis, Core-Dumps werden dort geschrieben. Verwenden Sie diese Flagge
mit Vorsicht.
-Format fmt
Das Ausgabeformat ist auf eingestellt fmt, das eines der folgenden Schlüsselwörter ist (case
insensitive): file, html, json, php, plain, text, xml, xmldtd, xmlsimple oder
xmlschema. Nicht alle Ausgabeformate werden von allen Programmen unterstützt. Dieses Flag überschreibt
jedem FORMAT[60] Argument für einen Webdienst, der wiederum die Standardeinstellung eines Programms überschreibt
Format. Das Standardformat hängt vom jeweiligen Programm und der Art und Weise seines Aufrufs ab.
Weitere Informationen finden Sie im Beschreibung of FORMAT Argument[60].
-NS Protokollierungsebene
Die Protokollierungsstufe ist auf eingestellt Log-Level, eines der von der erkannten Schlüsselwörter
LOG_FILTER[61] Richtlinie.
--Lizenz
Drucken Sie die Lizenz aus DACS auf stdout und dann sofort beenden.
-q
Ruhig sein. Dies entspricht dem Festlegen der Protokollierungsstufe auf „Warnung“.
-SC site.conf
Das sagt DACS dass es eine Konfigurationsdatei für die Gerichtsbarkeit finden kann, in deren Zuständigkeitsbereich
in dessen Namen es handelt. Wenn dieses Argument nicht vorhanden ist, je nachdem, wie es erstellt wurde,
DACS kann entweder versuchen, eine zur Kompilierungszeit angegebene Datei zu verwenden, oder es wird versuchen, die zu verwenden
Wert der Umgebungsvariablen DACS_CONF[58]. Einzelheiten finden Sie unter Lokalisierung
dacs.conf und site.conf[59].
--std
Dies markiert das Ende der gemeinsamen Argumente. Das nächste Befehlszeilenargument, falls vorhanden, ist
spezifisch für das Programm.
-t
Ablaufverfolgungsinformationen ausgeben. Dies entspricht dem Festlegen der Protokollierungsstufe auf „Trace“.
(Siehe auch debug_dacs[62].)
-u config-uri
Dies weist DACS benutzen config-uri , um den Abschnitt „Gerichtsbarkeit“ auszuwählen, der im verwendet werden soll
Konfigurationsdatei. Einzelheiten finden Sie unter Die Zuständigkeit Abschnitt[63].
-uj Gerichtsbarkeitsname
Dies weist DACS den Namen der Gerichtsbarkeit zu verwenden Gerichtsbarkeitsname um den zu wählen
Abschnitt „Gerichtsbarkeit“, der in der Konfigurationsdatei verwendet werden soll. Einzelheiten finden Sie unter Die
Zuständigkeit Abschnitt[63].
A
Dies weist DACS site.conf oder dacs.conf nicht verarbeiten. Dies darf nur mit verwendet werden
eine kleine Anzahl von Befehlen, wie z dacsacl(1)[64] und sslclient(1)[4].
-oben Gerichtsbarkeitsname
NICHT IMPLEMENTIERT. Dies befiehlt DACS den Namen der Gerichtsbarkeit zu verwenden Gerichtsbarkeitsname zu
Wählen Sie den Gerichtsbarkeitsabschnitt aus, der in der Konfigurationsdatei verwendet werden soll, und teilen Sie ihm mit, dass der
Der Webserver fungiert als Forward-Proxy. das ist, Gerichtsbarkeitsname nicht
unbedingt die angeforderte URL „besitzen“. Einzelheiten finden Sie unter Die Zuständigkeit
Abschnitt[63].
-uns
Dies weist DACS um den Abschnitt mit der einzigen Gerichtsbarkeit zu verwenden, der in der angezeigt wird
Konfigurationsdatei. Das heißt, die Konfigurationsdatei muss genau eine enthalten
Der Abschnitt „Gerichtsbarkeit“ ist derjenige, der verwendet werden sollte. Einzelheiten finden Sie unter
Die Zuständigkeit Abschnitt[63].
-v
- ausführlich
Seien Sie im Verhältnis zur aktuellen Protokollierungsstufe ausführlicher. Dieses Flag kann wiederholt werden.
--Version
Versionsinformationen sofort in stderr ausgeben und dann beenden. Wenn -v erschien früher
Drucken Sie in der Befehlszeile auch jeweils Versionsinformationen aus DACS Quellcodedatei in
dieses Programm.
Note
Vollständige Versionsinformationen sind nur für statisch verknüpfte Programme verfügbar.
Siehe auch DACS-Version(1)[65] und dacs_version(8)[66].
Tipp
Wenn kein Befehlszeilenflag zur Angabe des Gerichtsbarkeitsabschnitts angegeben wird, wird der Wert des
variable Umgebung DEFAULT_JURISDICTION wird so verwendet, als wäre es mit angegeben -uj Flagge.
Dies kann besonders nützlich sein, wenn für einen Host nur eine Gerichtsbarkeit konfiguriert ist
denn es macht es überflüssig, immer den Gerichtsstand anzugeben DACS Befehle.
SERVER_NAME, SERVER_PORT, REQUEST_URI
Kann zur Bestimmung der anwendbaren Gerichtsbarkeit verwendet werden.
Verwenden Sie DACs online über die Dienste von onworks.net