英語フランス語スペイン語

OnWorksファビコン

dacs - クラウドでオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターを介して、OnWorks の無料ホスティング プロバイダーで dac を実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド dacs です。

プログラム:

NAME


dacs - 分散型アクセス制御システム

SYNOPSIS


ダックス [-v | -詳細] [--dumpenv] [- ライセンス] [- バージョン]

ダックス dacs コマンド [ダックスオプション[1]] [...]

dacs コマンド [-u uri プレフィックス | -uj 管轄-名前 | A | アップ 管轄-名前 | -我ら]
[-c dacs.conf]
[-sc サイト.conf] [-NS ロギングレベル] [-フォーマット FMT] [-q] [-t] [-D=]
[-v | -詳細] [--dumpenv] [--enable-ダンプ] [- ライセンス] [--標準] [- バージョン]

DESCRIPTION


このプログラムはの一部です DACS 上。

DACS は、汎用の Web ベースの認証およびアクセス制御システムです。 それは提供します
シングルサインオン機能と、提供されるコンテンツおよびサービスへの柔軟なアクセス制御
Webサーバーによって。 DACS で構成されています アパッチ モジュール(mod_auth_dacs[2]) アパッチ
と通信します DACS アクセス制御の決定を行うための一連の CGI プログラム
提供します DACS Web サービス、およびさまざまな機能を提供するユーティリティ コマンドのコレクション
のサポートおよび管理機能 DACS。 これらのユーティリティの一部:
ダックスhttp(1)[3]と SSLクライアント(1)[4] は完全に汎用です。

この DACS アクセス制御エンジンと認証コンポーネントは、
コマンド ライン、CGI 環境内、または Web から完全に独立して使用できます。

に関する重要な情報については、 DACS、インストール手順を含む、を参照してください。
dacs.readme(7)[5]と dacs.install(7)[6]。

会社案内 DACS
NO 保証
このソフトウェアは Dss によって「現状のまま」提供され、明示的または黙示的な保証が適用されます。
これには、商品性、適合性の暗黙の保証が含まれますが、これらに限定されません。
特定の目的、または非侵害は否認されます。 いかなる場合も Dss は行われません
直接的、間接的、偶発的、特別、模範的、または結果的なものに対して責任を負います
損害(代替品またはサービスの調達を含みますがこれに限定されません。
使用、データ、または利益の損失。 または業務中断)どのような原因で発生したとしても、
契約、無厳格責任、または不法行為(を含む)のいずれにおける責任理論
過失またはその他)このソフトウェアの使用から何らかの形で生じた場合でも、
そのような損害が発生する可能性があることをお知らせします。

慣例により、全員の名前は、 DACS Web サービスはプレフィックス「dacs_」で始まります (例:
dacs_conf)。 リリース 1.4.17 以降、実装されるすべてのコマンド DACS 機能性
プレフィックス「dacs」で始まります (例: dacsconf)。 たくさんの DACS Webサービスにはコマンドがあります
類似品。 内部で使用される Web サービスの名前 DACS (つまり、彼らは
ユーザーによって直接呼び出されることはありません) 「local_」で始まります (例: local_passwd_authenticate).
汎用 Web サービスとコマンドは、次の場合を除き、命名規則に従いません。
前述のプレフィックスは使用しません。

dtd-xsd ディレクトリに保持されているドキュメント タイプ定義 (DTD) が使用されます。
ファイル形式を文書化するか、引数を説明する DACS Web サービスまたはその応答。 で
現在の実装では、これらの DTD ファイルは XML 検証中に使用されません。 属性
CDATA 型の値には追加の制約がある場合があります。 関係者に相談する
ドキュメンテーション。 ファイルにはドキュメント タイプがないため、技術的には有効な DTD ではありません。
宣言 (DOCTYPE); 適切な DOCTYPE は、実行時にプログラムによって生成されます。
DTD が発行されます。

重要
DACS Web サイトに対する特定の種類の攻撃は防止できません。 否定 of
サービス 攻撃[7] クロスサイト スクリプト記述 (XSS)[8]または クロスサイト 要求 偽造
(CSRF)[9]。 ただし、適切な Web サイト保護手段と組み合わせると、 DACS
は、この種の攻撃をより困難にするメカニズムを提供します。

会社案内   マニュアル ページ
の技術文書 DACS 一連のマニュアル ページで構成されます。 HTML内で
コレクション、 index ページ[10] には、目次、特別な注釈へのリンクが含まれています。
技術文書内、変数のリスト、設定ディレクティブ、および
XML ドキュメント タイプの定義。

先端
各 HTML マニュアル ページの下部近くにフォント サイズ選択ツールが含まれています。 もし
JavaScript が有効になっており、現在選択されているフォント サイズを変更でき、グローバル
プリファレンスセット。 現在のページのフォント サイズを選択するには、XNUMX つのうちの XNUMX つをクリックします。
箱。 マニュアル ページ、サイト訪問、すべてにわたって現在の選択を好みにするには、
およびブラウザ セッションで [設定] ボタンをクリックすると、HTTP Cookie が設定されます。 もし
設定がこのように設定されておらず (つまり、Cookie がありません)、マニュアル ページが存在します。
クエリパラメータを使用してアクセスされます ダックスマンフォント 0、1、2、または 3 に設定します (
最小から最大のポイント サイズ)、対応するフォントが選択され、
環境設定は自動的に設定されます (環境設定が設定されている場合、パラメータは無視されます)。

ドキュメントの「セキュリティ」というラベルの付いた領域では、セキュリティに関する重要な考慮事項について説明します。
それらには特に注意してください。 「ヒント」というラベルの付いた領域には、時間を節約するためのヒントが記載されています
(場合によっては悪化を軽減する)テクニックと推奨される実践方法。

例に示されているパス名と URL では、テキスト「...」は、
現在の議論に関係がないため、または内容が異なる可能性があるため省略されています
何かがインストールされている場所などの設定の詳細に応じて (例:
.../dacs/bin/dacshttp)。

特に明記されていない限り、例で使用されている URL は架空のものであり、実際には架空のものです。
仕事。 予約済みのドメイン名 example.com がよく使用されます (RFC 2606[11])。

手順と例では、通常、コマンド ライン プロンプトを示すために「%」が使用されます。

% 日にち
1 年 15 月 33 日 (日) 11:2007:XNUMX PDT

ただし、次のような場合には、プロンプトを表すために別の文字が使用されることがあります。
インタラクティブモードのデモンストレーション ダックスプレ(1)[12]:

> 1 + 1
2

の拡張形式 のBNF 表記法[13] は構文を簡潔に記述するために使用されます。 そうであることを願っています
理解可能で馴染みのあるものですが、いくつかの矛盾や曖昧さが発生する可能性があります
ドキュメント全体を通して。 これはゆっくりと改善されています。 作品内の用語は、
正規表現のタイプ指定を含めます。「+」は XNUMX つ以上の出現を意味します
用語の '*' XNUMX 個以上の出現。 文字セットのいずれか XNUMX つが指定されています
角括弧内、および連続する文字の範囲 (ASCII コード シーケンス内) は次のとおりです。
ハイフンで区切ります (例: [A-Za-z0-9\-_]+ は「XNUMX つ以上のアルファベット文字、
数字、ハイフン、またはアンダースコア")。他の文脈では、角括弧はオプションの記号を示します。
学期。 一重引用符と二重引用符はリテラル文字を指定します。 XML DTD では、
独自の構文は多少異なりますが、場合によっては関連する文法に従っています。
RFC は、明確さまたは例において尊重されています。

キー コンセプト
全体を通して使用される重要な概念の一部 DACS ドキュメントはこれで定義されています
のセクションから無料でダウンロードできます。

アカウント
ID (またはユーザー名) を状態情報に関連付ける永続的なレコード
アカウントに関する情報 (アカウントが有効か無効かなど)
ID を認証するために必要な情報 (パスワード文字列のダイジェストなど)、
その他のサインオン関連情報も含まれる可能性があります。 ご了承ください DACS アイデンティティはそうではありません
必ず対応するアカウントを持っている必要があります。 DACS ~するためのメカニズムを提供しない
「外国」アカウントタイプを管理します。 たとえば、認証できますが、
それらの場合、Unix または Windows アカウントを作成したり一覧表示したりすることはできません。

認証
個人またはプログラムが、 DACS
アイデンティティ、通常は、 DACS アイデンティティを表すユーザー名と、
そのアイデンティティのみが知っている、または所有している可能性が高い情報を提供します。 後
認証に成功すると、人またはプログラムが認証されたと言われます。 DACS
さまざまな認証方法と連携でき、その認証方法の一部を提供します。
自分の; 新しいメソッドを簡単に追加できます。

承認
特定のコンテキストにおいて、特定のリクエストに対するリクエストかどうかを判断する手順。
リソースまたはオブジェクトは許可される必要があります。 ID が実行を許可されている場合、
オブジェクトに対する特定の操作の場合、アクセスは許可されますが、それ以外の場合は拒否されます。 アクセス
制御ルールは、どの ID がどのようなものであるべきかを記述する XNUMX つの方法です
特定のリソースへのアクセスを許可または拒否します。 大まかなアクセス制御
オブジェクトへのアクセスを許可するかどうかの大まかな決定を行う必要があります。
付与された; これは通常、全か無かの決定です。 きめ細かいアクセス制御は、
プログラム内で、下位レベルのリソース (一部のデータ、
管理機能、メニューなど)を付与する必要があります。

一部のシステムとは異なり、 DACS 特定のリソースを事前に決定しません。
ユーザー (アイデンティティ) はアクセスできる場合とアクセスできない場合があります。 つまり、管理者はリストを作成しません
各ユーザーがどのような権利を持っているか。 認可は常にルールの評価によって決定されます。
ユーザーがリソースをリクエストしたときにリアルタイムで。 これに対する唯一の例外は一部です
オプション機能: Authorization キャッシング[14]と リンクス[15]。

資格情報
If 認証 成功しました、 DACS で使用できる情報を返します。
認証された ID を表す後続の操作。 資格情報には以下が含まれます
ID に関する情報 (名前など)、およびメタ情報 (
資格情報が期限切れになり、無効になる時刻。 資格情報は保護されています
暗号化されているため、偽造や改ざんは困難です。 それらは保管しなければなりません
ID を所有者以外が使用できないようにするため、秘密に設定する必要があります。
サーバーに対して行われたリクエストに付随するため、 DACS 誰がリクエストを行っているかを知っています。 の
認証情報を使用できない限り、これに使用される特定のメカニズムは重要ではありません。
コピーして再利用。 HTTP Cookie のペイロードを使用して認証情報を転送する
SSL 接続が一般的ですが、資格情報を HTTP の値として送信します。
拡張ヘッダーも考えられます。

資格情報のサイズに特に制限はありませんが、 DACS is
これらは HTTP Cookie 内にカプセル化されて、
ブラウザの場合、ブラウザによって課される Cookie の制約を慎重に考慮する必要があります。

どの管轄区域でも、その範囲内の他の管轄区域によって生成された資格情報を理解できます。
同じ連盟です。 したがって、ユーザーはアクセスするために一度認証を受けるだけで済みます。
その ID を使用する任意の管轄区域の Web サービス。

に注意してください DACS、資格情報はその所有者にいかなる権利も与えず、何らの権利も伝達しません。
認可; DACS ない 能力ベースの  [16]。 資格情報は単に次のことを表します
a DACS 身元。

参照する dacs_authenticate(8)詳細は[17]。

現在 要求
によって処理されている認可チェックをトリガーしたイベント
dacs_acs(8)[18] は現在のリクエストと呼ばれます。 のリクエストについては、
DACS-ラップされた Web リソース。これは Web によって受信される HTTP リクエストになります。
リソースのサーバー。 次のような状況では、 dacs_acs は関与しません。
ダックスチェック(1)[19]または ダックスプレ(1)[12] が使用され、現在のリクエストとそのコンテキストは
コマンドライン引数で指定されるか、 実行
環境[20]。

dacs_acs 使用されます ${DACS::URI} 現在のリクエストのパスコンポーネントとして。 それは
Apacheから取得 URI 現在の request_rec の要素。 これはその文字列です
アクセス制御ルールと照合するために使用されます。

その他 DACS コンポーネントは、いくつかの検査によって現在の HTTP リクエストを決定します。
環境変数: HTTP_HOST (または SERVER_NAMEサーバポート), REQUEST_URI,
クエリ文字列, HTTPS.

の値 ${DACS::URI} とパスコンポーネント ${Env::REQUEST_URI} ありません
必然的に同じです。 たとえば、内部リダイレクトの後、後者の値は次のようになります。
前者は元の URL からのものであり、前者はリダイレクトのターゲットからのものです。

現在のリクエスト文字列は、
現在 フェデレーション[21]と 現在 管轄[22] というときに使われるため、
リクエストに適用するアクセス制御ルールを検索します。

DACS
CGI ベースの Web サービスで構成され、 アパッチ 2.0/2.2 モジュール、および以下のコレクション
ユーティリティ、 DACS 認証および認可機能を提供します。 透明、
Web リソースには、大まかなロールベースのアクセス制御が利用可能です。

プログラムによる汎用ロールベースのアクセス制御は、事実上あらゆるユーザーに利用可能です。
プログラム(使用 ダックスチェック(1)[19])。 これは Apache から完全に切り離されています。

DACS 管理者
の運営管理に責任を負う個人 (または複数の個人) DACS is
と呼ばれる DACS 管理者 (単に「管理者」という場合もあります)。 この個体は
小規模ではあるものの、必ずしもシステム管理者 (スーパーユーザーやルートなど) である必要はありません。
オプションのコンポーネントの数 DACS ユーザーまたはグループ root として実行する必要があります。 の DACS
管理者である必要はありません アパッチ 管理者。 一度 アパッチ のために設定されています
DACS 通常、その後の変更はほとんど必要ありません。 の DACS 管理者
構成とテストを担当します DACS (おそらくインストールしてアップグレードしていると思いますが、
も)、ユーザー アカウントとアクセス コントロール ルールの管理、セキュリティの保護、バックアップ
設定ファイルやデータ ファイルなど。 のデザイン DACS ある程度の委任を許可する
責任の範囲は主にファイルのアクセス許可に基づいています。 Webサービスとして呼び出すと、
として構成された各 ID ADMIN_IDENTITY[23] は事実上、 DACS
管理者。 この文脈では、システムのスーパーユーザーは意味を持ちません。

DACS アイデンティティ
認証された各ユーザーには、ユーザーの名前で構成される名前が割り当てられます。
管轄区域、そのフェデレーション名、およびユーザー名を認証します。 それぞれのネーミングは
コンポーネントは構文的に正しい必要があります。 一部のコンテキストでは、フェデレーション名は次のようになります。
暗黙; 管轄区域名が暗黙的に示される場合もあります。 次のようなエンティティ
個人 (人だけでなく、プログラム、デバイスなど)、連合、管轄区域、
そしてグループには名前があります。 認証するのは管轄区域の責任です
ユーザー。 名前の構文、意味、一意性も管轄区域の問題です。
そしておそらくは連盟全体の問題でもあるでしょう。

現実世界の各エンティティは通常、固有の DACS アイデンティティ、しかしこれは任せられます
管轄区域の認証。 XNUMX つ以上の ID は、参照していなければ別個のものです
現実世界の同じ個人に対して。 フェデレーション ID またはシングル サインオン (SSO) は、
管轄区域を越えて、さらには連合を越えてユーザー ID を認識する機能。

重要
認証方法やアカウント情報に関係なく、
XNUMX つの同一のユーザー名が使用されています (同じ管轄区域に関連し、
アカウント NAME_COMPARE[24]) 暗黙的に 想定される 〜へ 参照する 〜へ   同じ アイデンティティ by
DACS。 たとえば、正しい情報を提供してオーギーとして認証された人が、
Unix パスワードは、次のように認証されたユーザーと事実上区別できません。
情報カードを使用するオーギー。 ユーザー認証情報には、
作成に必要な認証方法と、 ユーザー()[25]機能ができる
この情報を取得するために使用することはできますが、アイデンティティのベースにするのは賢明ではありません。
これ。 新しいものを使用することを強くお勧めします。 DACS 管轄権を慎重に策定する
ユーザー命名のための拡張可能なプラン。

DACS-包まれた
Web リソースは次のように言われます。 DACSWeb サーバーが
リソース呼び出し DACS (すなわち、 dacs_acs(8)[18]) アクセス制御を行う
リソースの要求を受信するたびに決定します。

フェデレーション
A DACS フェデレーションは XNUMX つ以上の管轄区域で構成されます。 含まれる管轄区域
連盟は軽量なビジネス慣行を通じて情報共有を調整します
のメンバーシップの要件として実装されています。 DACS フェデレーション; 言い換えれば、
連盟のメンバーは通常、特定の行動規則を遵守することに同意します。
全体的なセキュリティを維持し、ユーザーが最大限の利益を得ることができるようにします。 連盟
XNUMX つの管轄区域のみで構成されることは珍しいことではありません。

項目 type
項目タイプは、 Vfs[26] (仮想ファイルストア) 仕様
データの保存方法と保存場所を構成します。 提供される間接的なレベル
たとえば、アクセス制御ルールを通常のルールで設定できることを意味します。
ファイル、Berkeley DB データベース、HTTP によってアクセスされるリモート データベースなど - すべて
必要なのは、項目タイプ acls が適切に構成されていることです。 一部のアイテムの種類
(acls と同様) は予約されており、特別な意味を持ちます。 DACS、他のものは次のように使用できます。
a DACS 他の目的のための管理者。 項目タイプ名では大文字と小文字が区別されます。
英数字、ハイフン、アンダースコアで構成されますが、アルファベットで始める必要があります
文字。

管轄
A DACS 管轄権は、その権限を認証する自治行政体です。
ユーザー、Web サービスの提供、またはその両方。 組織に該当する場合もありますが、
部門、Web サーバー、または仮想ホスト。 管轄区域は単純に次のように作成されることがあります。
管理上の都合。 各管轄区域には、区域内で一意の名前が割り当てられます。
フェデレーション。

ユーザーの本拠地管轄区域は、そのユーザーを認証できる管轄区域です。 で
ユーザーがさまざまな場所から取得した複数の資格情報を持っている状況
管轄区域、リクエストに対する有効な管轄区域は、どの管轄区域に依存するかによって異なります。
資格情報は認可処理中に選択されます。 設定ディレクティブは次のとおりです。
リクエストに伴う資格情報のセットの数を制限するために使用できます。

user エージェント
ユーザー エージェントは、他のソフトウェア (サーバー) と対話するクライアント側のソフトウェアです。
通常、アプリケーションに代わって) user。 ユーザーは多くの場合個人ですが、ユーザーである場合もあります。
ソフトウェア。 Web サーバーと対話するために使用される Web ブラウザは、その例です。
ユーザーエージェント。

命名
DACS 式で参照できるようにさまざまなものに名前を付ける必要があります。
アクセス制御ルール、構成ディレクティブなど。 URI 構文は次の目的で使用されますが、
内部のいくつかの種類のオブジェクトに名前を付ける DACS, DACS 独自の簡潔な命名スキームもあります。

注意
現在の連盟 (現在の管轄区域) とこの連盟 (この連盟) という用語
管轄区域) は、文書内で連合 (管轄区域) を指すために使用されます。
有効な構成コンテキストに関連付けられている間、 DACS リクエストを処理します。

一般に、 連合名 名前のコンポーネントはオプションです。 不在の場合は、
現在の連邦が想定されます。 同様に、 管轄-名前 省略される可能性があり、
現在の管轄権が暗示されています。

連盟
構文:

連合名::

例:

デモ::

この 連合名 (通常は、 FEDERATION_NAME[27] 構成
ディレクティブ) は英字で始まり、その後に XNUMX 個以上の文字が続く必要があります
英数字、ハイフン、アンダースコア。 あ 連合名 通常扱われるケースです
敏感に(しかし、 NAME_COMPARE[24] 設定ディレクティブと ユーザー()【25]
代替動作の機能)。 ありません a 先験的な 長さの制限。

この フェデレーション_ドメイン[28] ディレクティブは、すべてに共通のドメイン名サフィックスを指定します。
連邦内の管轄区域。

管轄区域
構文:

[[連合名:: | [::]] 管轄-名前:

例:

デモ::DSS:
::DSS:
DSS:

この 管轄-名前 (通常は、 JURISDICTION_NAME[29] 構成
ディレクティブ) は英字で始まり、その後に XNUMX 個以上の文字が続く必要があります
英数字、ハイフン、アンダースコア。 あ 管轄-名前 普通に扱われる
大文字と小文字が区別されます (ただし、 NAME_COMPARE[24] 設定ディレクティブと
ユーザー()[25] 代替動作用の関数)。 ありません a 先験的な その限界
長さ

ユーザー
構文:

[[[連合名:: | [::]] 管轄-名前]:ユーザ名

例:

デモ::DSS:オーギー
::DSS:オーギー
DSS:オーギー
:オーギー

フル DACS ID にはフェデレーション名コンポーネントと管轄区域名が含まれます
コンポーネントに加えて、 ユーザ名。 に提供されます DACS-ラップされたプログラム
の値 DACS_IDENTITY[30] 環境変数。

ユーザー名コンポーネント。CGI プログラムで次の値として使用できます。
DACS_USERNAME[31] 環境変数。以下の XNUMX つ以上の ASCII 文字で構成されます。
大文字と小文字のアルファベット、数字、およびそれに続く句読点のセット
キャラクター:

! # $% & ' - . ; ? @ [ ^ _ ` { }

041 (0176 進数) 未満または XNUMX (XNUMX 進数) より大きい値を持つすべての文字は、
無効、次の文字も同様です。

* 、 : + ( ) ~ < > = | \ / "

Notes
・英数字以外にも、 RFC 2396[32] のみ許可されます。
次の文字 ("pchar") を URI のパス コンポーネントに含めます。

- _ 。 ! ~ * ' ( ) % : @ & = + $ ,

· 一部の有効な電子メール アドレスが無効です DACS ユーザー名。 例えば、
*bob*@example.com、"(bob)"@example.com、および \(bob\)@example.com は有効です
で定義されたメールボックス名 RFC 822[33] (付録 D) で説明されています。 RFC
3696[34] (セクション 3)、ただし両方とも無効です。 DACS ユーザー名。 引用しない限り、
「@」文字の前にある電子メール アドレスのローカル部分コンポーネント
addr-spec には次のいずれも含めることはできません。

( ) < > @ , ; : \ " . [ ]

さらに、スペースとすべての US-ASCII 制御文字 (オクテット 0 ~ 31)
および DEL (127) は許可されません。 引用符を使用しない場合、ローカル部分は次のように構成されます。
アルファベット、数字、または次の文字の任意の組み合わせ:

! # $ % & ' * + - / = ? ^_` 。 { | } ~

ピリオド (「.」) を使用することはできますが、ローカル部分を開始または終了したり、終了したりすることはできません。
XNUMX つ以上の連続したピリオドが表示されます。 二重引用符で囲むと、任意の ASCII
適切に引用されていれば、文字が表示される場合があります (例: Auggie.)。
「.O.」」。[メール保護])。 ローカル部分の最大長は 64 です。
文字、およびその後に表示されるドメインコンポーネントの最大長
「@」文字は 255 文字です。

現時点では「引用」する方法はありません。 DACS ユーザー名なので安全なエンコーディング
メソッドまたは変換をこれらの名前に適用する必要があります。

· DACS ユーザー名コンポーネントを含む内部使用のための ID を作成する場合があります。
通常は無効な文字が含まれています。

・A ユーザ名 大文字と小文字が区別されます (ただし、 NAME_COMPARE[24] 構成
ディレクティブと ユーザー()[25] 代替動作用の関数)。 ありません a
先験的な 長さの制限。

· 推奨される方法は、管轄区域がその管轄区域をマッピングすることです。 DACS ユーザー名を
認証手順中は可能な限り小文字を使用し、
マッピングは独特です。 の 出口*[35] ディレクティブをこの目的に使用できます。

グループ
構文:

[[連合名:: | [::]] %[管轄-名前]:グループ名

A グループ名 英字で始める必要があり、その後に任意の数字を続けることができます
英数字、ハイフン ("-")、およびアンダースコア ("_") 文字で構成されます。

例:

%DEMO::DSS:友達
%::DSS:友達
%DSS:友達
%:友達

役割と役割記述子
構文:

役割記述子 -> 空の文字列 | 役割リスト

役割リスト -> 職種 | 職種 "、" 役割リスト

職種 -> 基本的な役割 | 複合ロール

基本的な役割 -> [A-Za-z0-9\-_]+
複合ロール -> 基本的な役割 "/" 基本的な役割 | 基本的な役割 "/" 複合ロール

空の文字列 -> 「」

ロール記述子文字列 (ロール文字列またはロール記述子とも呼ばれる) は、次のもので構成されます。
ロールのカンマ区切りリスト。 役割の名前 ( 基本的な役割) から構築されます
大文字と小文字、数字、ハイフン、アンダースコア。 あ 複合ロール is
XNUMXつ以上から構成される 基本的な役割 スラッシュ文字で区切られた用語。 ここ
ロール記述子の XNUMX つの例は次のとおりです。

管理者、ホイール、ルート
管理者/ハードウェア
ネットワーク/プログラミング、コンピュータサイエンス/システム/Project_X

注意
役割記述子文字列には空白文字が含まれておらず、先頭または
カンマまたはスラッシュ文字で終わります。 XNUMX つ以上の連続したカンマは無効です。
XNUMX つ以上の連続したスラッシュも同様です。
この setvar()[36] 関数を使用すると、複合ロールをその基本ロールに分離できます。
役割

を参照してください dacs.groups(5)追加情報については、[37]を参照してください。

簡潔なユーザー構文
構文:

IDENT -> '{' kwv-リスト '}' | user
kwv-リスト -> kwv [「、」 kwv]*
kwv -> kwv ユーザー | kwv グループ | kwv-属性 | kwv-ip | kwv の有効期限が切れる
kwv ユーザー -> 'u=' [Q] user [質問]
kwv グループ -> 'g=' [Q] グループヘッド [質問]
kwv-属性 -> 'a=' [Q] ATTR [質問]
kwv の有効期限が切れる -> 'e=' [Q] 有効期限が切れます [質問]
kwv-ip -> 'ip=' [Q] IPアドレス [質問]

user -> 単純な名前 | DACS-アイデンティティ
グループヘッド -> グループヘッド [「、」 グループヘッド]*
グループヘッド -> グループ名 | 役割記述子
ATTR -> 任意のアルファベット
IPアドレス -> 任意の IP アドレス
有効期限が切れます -> +リリース秒 | date

ここで、

· Q はオプションの (一致する) 引用符文字です。

· オプションでほとんどのトークンの前に空白を置くことができます。

・ NS DACS-アイデンティティ 完全または省略されたものです DACS アイデンティティ【38]

・ NS 単純な名前ユーザ名 の成分 DACS アイデンティティ(つまり、何も持たない)
コロン); したがって、このコンテキストでは、auth などの「特別な」名前が扱われます。
として:認証

· 役割記述子 有効である必要があります DACS ロール文字列と グループ名 有効である必要があります
DACS グループ名(を参照) dacs_authenticate(8)[39]と dacs.groups(5)[40]);

· IP アドレスは、インターネット標準の数値ドット表記法で表現されます (例:
10.0.0.1); そして

· ID から派生した資格情報の有効期間は、次のいずれかで表すことができます。
指定された秒数 (例: "e=+3600") または次のいずれかの指定された日付
形式 (を参照) 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

必要に応じて、日付は現在の時刻または日付を基準にして解釈されます。 の
ライフタイムは、絶対的な時刻と日付である正規形式に変換されます。
管轄区域の時計に基づく、エポックからの秒数。 過去の日付
指定することができます。 これは、たとえばテストに役立つ可能性があります。 アイデンティティなら
資格情報の作成に使用されない場合、有効期限は無視されますが、有効期限は無視されます。
構文的に正しい。

· サポートされている唯一の属性値は「a」です。これは、ID が次のとおりである必要があることを意味します。
として扱われます ADMIN_IDENTITY[23] (参照 -管理者 の旗 ダックスチェック(1)[19])。

簡潔な構文で表現された名前は、ユーザー名と、オプションでロールとを与えます。
ID の属性。 使用されているのは、 ダックスチェック(1)たとえば[19]。

この ダックス ユーティリティ
DACS ユーティリティ コマンドは通常、別個のバイナリとしてインストールされますが、 DACS できます(または
代わりに) それらのほとんどを XNUMX つのバイナリに結合してビルドし、次のようにインストールします。
ダックス。 さまざまなユーティリティ プログラムは次のように実行できます。

%ダックス dacs コマンド [ダックスオプション] [コマンドオプション]

例:

% dacs dacskey -u foo.myfed.com 出力ファイル

ランニング ダックス 引数なしでユーティリティを実行すると、使用可能なサブコマンドのリストが表示されます。

起動 処理
ブリッジ DACS プログラムは起動時に次のアクションを実行します。

1. 動作する「モード」を決定します。 たとえば、 REMOTE_ADDR
環境変数が存在する場合、プログラムは一般に、環境変数として実行する必要があると想定します。
ユーティリティ コマンドとしてではなく、Web アプリケーションとして使用する

2. コマンドライン引数の標準セットを処理します(ダックスオプション[42])

3. プロセスの umask を 007 に設定して、作成されたファイルに対する世界アクセスを禁止します。

4. コア ダンプを無効にして、調査によって機密情報が明らかにならないようにします。
(しかし参照 --enable-ダンプ[43])

5. 設定ファイルが見つからない場合、またはエラーがある場合は操作を拒否します。

6. Web サービスの場合は、 DACS ホームディレクトリ 現在の作業ディレクトリ

7. 「セキュアモード」が有効になっている場合、Web サービスは HTTPS リクエストのみを処理します。

8. リクエストで必要なバージョンが、次のバージョンと互換性があることを確認します。 DACS
リクエストを受け取る

9. プログラム固有のコマンド ライン引数を処理します。

DACS プログラムは機密情報 (パスワードなど) をすぐに破棄しようとします。
これは不要になり、潜在的に機密情報をログ ファイルに書き込まないためです。
特にそうするように構成されていない限り。

内部
一部 DACS コンポーネントは、HTTP を使用して (場合によっては SSL 経由で) 他のコンポーネントを呼び出すことができます。
構成)。 たとえば、認証モジュールは、Web サービスとして呼び出すことができます。
dacs_authenticate(8)[39]。 どのような場合でも、これらの「内部」HTTP 呼び出しによって、
302 Found ステータス コードなどによるリダイレクト。 これは時々起こるかもしれませんが、
不便ではありますが、これは部分的にはセキュリティ対策です。

先端
内部 HTTP リクエスト (特に関連するもの) が関係する可能性がある問題をデバッグする場合
認証まで)、それを確認します DACS リダイレクトを受信して​​いません。 内部HTTP
構成が正しくない、または不完全であるために、リクエストが不思議なことに失敗することもあります
SSLパラメータの。 SSL 経由の内部 HTTP リクエストの使用 SSLクライアント(1)[4]、同様に
ダックスhttp(1)[3]コマンド。 https スキームの URL が機能していない可能性があると思われる場合は、
を使用して問題をデバッグします SSLクライアント その後 ダックスhttp.

データの一貫性を維持するには、 DACS を使用して排他ロックを作成します。 fcntl(2)[44]システム
によって設定されたディレクトリに書き込まれたファイルを呼び出します。 TEMP_DIRECTORY【45]
指令。

ロギング
ブリッジ DACS サービスとユーティリティは、さまざまな種類のメッセージを XNUMX つ以上のログ ファイルに書き込みます。
これらのメッセージは、何が原因かを理解しようとするときに非常に貴重です。 DACS している、のために
セキュリティ監査、またはどのようなものかを確認するには DACS-ラップされたリソースがアクセスされている内容
方法。

を参照してください dacs.conf(5)関連する設定ディレクティブについては、[46] を参照してください。
ロギング。 以下で説明するさまざまなコマンド ライン フラグも、
ロギング。

注意
· DACS 構成処理が完了する前にログ メッセージを出力できます。
この間、ロギングに関連付けられた設定ディレクティブは無効になります。
起動間隔。

・ なぜなら mod_auth_dacs[2]は アパッチ モジュール、 アパッチ ロギングディレクティブが適用されます
それに(ではなく) DACS ディレクティブ) とそのログ メッセージが書き込まれます。 アパッチ ログ
ファイル。

· ログ ファイルは、特にログ レベルが に設定されている場合、急速に大きくなる可能性があります。
デバッグ レベルまたはトレース レベル。 毎日のローテーションまたは切り捨てを検討してください。

· ログ メッセージのテキストが数行にわたる場合があります。

のデフォルト値 LOG_FORMAT[47] ディレクティブ。ログの外観を制御します。
メッセージは、include/local.h で LOG_FORMAT_DEFAULT_WEB として定義されます。 DACS Webサービス
その他すべてについては LOG_FORMAT_DEFAULT_CMD です。 一般的なログ メッセージは次のとおりです。

[水 12 月 12 日 37:09:2006 83648,1060] [トレース] [XNUMX,-] [dacs_acs:"acslib"] 許可
条項はアクセスを許可します

監査クラス 歳入録 メッセージ
監査クラスのメッセージの場合、括弧内の文字列が後に続くことがあります。
以下の例にあるように、アイデンティティ。 トラッカーと呼ばれるこの文字列は、ログを関連付けます。
特定の発信元を持つメッセージを収集し、ユーザーの一連のメッセージを追跡するために使用できます。
フェデレーション全体でログ メッセージを使用してサービス リクエストを実行します。 これは次のような場合に役立ちます。
デバッグ、セキュリティ問題の検索、またはフォレンジック分析。

認証されていないユーザーの場合、トラッカーはヒューリスティックにのみ導き出すことができます。
実行コンテキストの要素。 ユーザーの IP アドレス、ユーザー エージェント文字列、および SSL
クライアント証明書が利用可能な場合は、それが使用されます。 これらのトラッカー文字列のうち XNUMX つが異なる場合、
通常、リクエストはさまざまなホスト、ブラウザ、またはユーザーから送信されますが、これは
必ずしも常にそうであるとは限りません。 同様に、同じトラッカー文字列が
XNUMX つのログ メッセージに関連付けられているため、サービス リクエストが必ずしも実行されるとは限りません。
同じユーザーが発行したもの。

認証されたユーザーの場合、トラッカー文字列はヒューリスティックに導出されたもので構成されます。
文字列、カンマ、ユーザーに一意に関連付けられた文字列が続きます。
資格。 このトラッカーはユニークである可能性が高く、
特定のユーザーとの XNUMX 対 XNUMX のマッピング。

次の (要約された) ログ ファイル エントリを考慮してください。

[水 12 月 15 日 56:24:2006 83963,1067] [通知] [XNUMX,A] [dacs_acs:"authlib"]
*** 7 から未認証ユーザー (5vJLWzv10.0.0.124) にアクセスが許可されました
/cgi-bin/dacs/dacs_current_credentials の場合

[水 12 月 15 日 56:27:2006 83965,1073] [通知] [XNUMX,A] [dacs_acs:"authlib"]
*** 7 から未認証ユーザー (5vJLWzv10.0.0.124) にアクセスが許可されました
/cgi-bin/dacs/dacs_authenticate の場合

[水 12 月 15 日 56:27:2006 83966,172] [デバッグ] [XNUMX,A] [dacs_authenticate:"authlib"]
HOME:bobo (7vJLWzv5,wA/Pudyp3f0) の認証に成功しました

[水 12 月 15 日 56:30:2006 83973,1078] [通知] [XNUMX,A] [dacs_acs:"authlib"]
*** DSS::HOME:bobo にアクセスが許可されました (7vJLWzv5,wA/Pudyp3f0)
/cgi-bin/dacs/dacs_current_credentials の場合は 10.0.0.124 から

上記のログ メッセージの最初の 7 つに、トラッカー 5vJLWzvXNUMX が表示されます。これは、次のことを意味します。
XNUMX つのリクエストはおそらく同じ (認証されていない) ユーザーからのものです。 XNUMXつ目では
ログ メッセージでは、ユーザーは認証されており、トラッカー 7vJLWzv5,wA/Pudyp3f0 は
使用済み。 これらのトラッカーはすべて同じプレフィックスを共有しているため、最初の XNUMX つのリクエストは
おそらく、DSS::HOME:bobo として認証された誰かからも送信されたものと考えられます。 最後のお願いは、
/cgi-bin/dacs/dacs_current_credentials については、間違いなくそのユーザーからのものです。 これなら
ユーザーはサインアウトして、フェデレーション内の任意の場所でさらにサービス リクエストを発行する必要がありました。
DSS では、各ログ メッセージにはトラッカー 7vJLWzv5 が含まれます。

セキュリティ
匿名ユーザーのリクエストを確実に追跡することは、うまく行うのが困難です。 あ
Cookie ベースのアプローチは状況によってはうまく機能する可能性がありますが、独自の欠点もあります
(ユーザーが Cookie を無効にしている場合は完全に無効になるなど)。

進捗管理 ユーザー アクティビティXNUMX
DACS ビルド時のオプションとして有効になる機能が含まれています (「 dacs.install(7)[48])、それにより
管轄区域は、そのすべてのユーザー (つまり、次のようなユーザー) のアクティビティを追跡できます。
管轄区域で認証されます)。 成功した各認証イベント、明示的なサインアウト
イベント、およびユーザーが送信した Web サービス要求イベントをユーザーの自宅で記録できます
によって定義された形式の管轄区域 dacs_user_info.dtd[49]。 この情報は、
連盟で何が起こっているのかをより深く理解するために貴重です。
パフォーマンスとセキュリティの問題の診断を支援することも含まれます。 機能の基本です
最近のアカウントアクティビティの表示など、新しいアカウントの作成にも使用される可能性があります
同時ログイン制限や適応型認証コンポーネントなどの機能
階層型認証またはリスクベース認証を実装します。

本国の管轄区域がこれらの記録をどこでどのように維持するかを指定するには、user_info
項目タイプはその管轄区域で定義する必要があります。 定義されていない場合、レコードは作成されません
その管轄区域で書き込まれますが、管轄区域は引き続きイベントを送信しようとします
他の管轄区域への記録。 最大限のメリットを得るには、この機能をすべて有効にする必要があります
フェデレーション全体のすべてのユーザー アクティビティが可能になるため、フェデレーション内の管轄区域を管理できます。
ログに記録されます。

管轄区域が他の管轄区域のユーザーのアクティビティを監視したい場合、
それらの管轄区域がその権限を発動できるようにしなければならない dacs_vfs(8)[50] サービスを追加することで、
適切なアクセス制御ルール。

セキュリティ
このようなルールでは、次のことを要求することが重要です。 dacs_admin()[51] 述語。

注意
dacs_admin(8)[52] ツールは、これらのレコードへのインターフェイスを提供します。 それはすべきです
最終的には、すべての管轄区域で見つかった記録を収集および整理するように拡張される
分析を容易にするためにフェデレーションに参加します。 これらはテキストファイルであるため、
比較的単純な形式なので、管理者が適用するのは難しくありません。
一般的なテキスト処理ツールを使用するか、この目的のために短いカスタム プログラムを作成します。
以下に類似したコマンド last(1)[53] who(1)[54]、および sa(8)[55] が検討されている。

· 各管轄区域は、独自の場所に記録を書き込む必要があります (つまり、管轄区域
user_info に対して同じ VFS オブジェクトを共有しないでください)。

· このデータベースは無限に増大します。 管理者はローテーションを担当します
またはそれを切り詰めます。 以前のアクティブなサインオン情報が重要な場合 (「
dacs_current_credentials(8)[56])、リクエスト レコードのみをプルーニングします (つまり、acs
要素)。 もう XNUMX つの許容可能な方法は、一部のデータを破棄 (またはアーカイブ) することです。
古いレコード (たとえば半分) を保存し、新しいレコードの一部を保持します。

・データ形式は変更される場合があります。

· 実行時にこの機能を有効または無効にするディレクティブを追加できます。

· 内部管理イベントは記録されません。

· ログオフしているため (経由) dacs_signout(8)[57]) はオプションであり、セッションの終了
場合によっては、資格情報の有効期限から推測または概算することしかできない場合や、
最後に記録されたイベントの時刻。

OPTIONS


DACS プログラムと Web サービスは、実行時の構成情報の多くを次の方法で取得します。
構成ファイルを読み取り、環境変数を調べます。 いくつかの構成
情報はコンパイル時に提供できます。 いくつかのコマンド ライン フラグを使用して、
デフォルトの動作をオーバーライドします。

注意
・ 全て ダックスオプション フラグは左から右に処理され、フラグの前に出現する必要があります。
コマンド固有のフラグまたは引数。 そうでない最初のフラグまたは引数
の一つとして認められています ダックスオプション リストを終了します。

・ 最も重要な ダックスオプション の場所を指定するものです。
設定ファイルを作成し、内部で使用する管轄セクションを特定します。
設定ファイル。 プログラムとその使用方法に応じて、設定
情報は必要ない場合もあれば、オプションである場合もあれば、必須である場合もあります。

· 管轄セクションを選択するためのコマンド ライン フラグは最大 XNUMX つです。
指定された。 参照する dacs.conf(5)詳細については、[46]
設定ファイルと設定処理。

その他にもたくさんのグーグルの DACS ユーティリティは次の標準オプションを認識します。
ダックスオプション:

-c dacs.conf
これは DACS 管轄区域の設定ファイルはどこで見つけることができますか
代わりにそれは演技しています。 この引数が存在しない場合、その構築方法に応じて、
DACS コンパイル時に指定されたファイルを使用しようとするか、
環境変数の値 DACS_CONF[58]。 詳細については、を参照してください。 位置
dacs.conf サイト.conf[59]。

-D=
このフラグの効果は、変数を定義することです。 (構文的に有効である必要があります)
会場は DACS 値を持つ名前空間 。 周囲の引用符 保持され、
ただし、シェルがまだ剥がされていない場合に限ります。 このフラグは繰り返してもよい。 これら
変数は、後で構成処理およびルール中にテストできます。
処理; たとえば、構成ディレクティブの値は、
の値 ダックスオプション フラグ。 定義 それは偶然に対応します
ダックスオプション flag は変数を作成する以外の効果はありません。

すべて ダックスオプション フラグ (除外 この XNUMXつ) は自動的に追加されます。 DACS
処理されるときの名前空間。 「シングルトン」であるフラグ (例: -q)は最初は
値 XNUMX が割り当てられ、その後出現するたびに値が増加します。 の旗
フォーム -国旗 に相当します -D-国旗=。 未使用のフラグは未定義です。 もし -q
与えられていない、 ${DACS::-q} 定義されません。 同義語を持つフラグについては、
各シノニムの変数が作成されます。 もし 明示的または暗黙的に使用され、
後の値は前の値を置き換えます。

たとえば、 ダックスオプション には次の値があります:

-c www.example.com -v --verbose -Dfoo="baz" -ll デバッグ -D-ll=trace

この場合、変数は次のように定義されます。

${DACS::-c} は「www.example.com」です
${DACS::-v} は「2」です
${DACS::--verbose} は「2」です
${DACS::foo} は「\"baz\"」です
${DACS::-ll} は「トレース」です

デバッグ レベルはデバッグであり、トレースではありません。

--dumpenv
すべての環境変数を標準出力に出力し、すぐに終了します。

--enable-ダンプ
デフォルトでは、 DACS Web サービスとほとんどのコマンドは、コア ダンプの生成を無効にします。
安全上の予防措置。 コア ダンプはデバッグ時に役立つため、このフラグは
作成できるようになります。 コア ダンプの生成が許可されているプログラムは、
に変更します DACS_HOME ディレクトリにある場合、コア ダンプはそこに書き込まれます。 このフラグを使用してください
注意して。

-フォーマット FMT
出力形式は次のように設定されています FMT、次のキーワードのいずれかです (ケース
insensitive): ファイル、html、json、php、プレーン、テキスト、xml、xmldtd、xmlsimple、または
xmlスキーマ。 すべての出力形式がすべてのプログラムでサポートされているわけではありません。 このフラグはオーバーライドします
どれか FORMAT[60] Web サービスへの引数。これによりプログラムのデフォルトがオーバーライドされます。
フォーマット。 デフォルトの形式は、特定のプログラムとその呼び出し方法によって異なります。
追加情報については、を参照してください。 説明 of   FORMAT 引数[60]。

-NS ロギングレベル
ログレベルは次のように設定されています ログレベルで認識されるキーワードの XNUMX つです。
LOG_FILTER[61] 指令。

- ライセンス
のライセンスを印刷します DACS stdout にコピーし、すぐに終了します。

-q
静かに。 これは、ログ レベルを警告に設定することと同じです。

-sc サイト.conf
これは DACS 管轄区域の設定ファイルを見つけることができること
代わりにそれは演技しています。 この引数が存在しない場合、その構築方法に応じて、
DACS コンパイル時に指定されたファイルを使用しようとするか、
環境変数の値 DACS_CONF[58]。 詳細については、を参照してください。 位置
dacs.conf サイト.conf[59]。

--標準
これにより、共通引数の終了のフラグが立てられます。 次のコマンドライン引数がある場合、それは次のとおりです。
プログラムに固有の。

-t
トレース情報を出力します。 これは、ログ レベルをトレースに設定することと同じです。
(また見なさい デバッグダックス[62]。)

-u 構成ウリ
これは指示します DACS 使用する 構成ウリ で使用する管轄セクションを選択します
設定ファイル。 詳細については、を参照してください。 この 管轄 セクション[63]。

-uj 管轄-名前
これは指示します DACS 管轄区域名を使用する 管轄-名前 を選択する
設定ファイルで使用する管轄セクション。 詳細については、を参照してください。 この
管轄 セクション[63]。

A
これは指示します DACS site.conf または dacs.conf を処理しません。 これは次の場合にのみ使用できます
少数のコマンド、例えば ダクサクル(1)[64]と SSLクライアント(1)[4]。

アップ 管轄-名前
実装されていません。 これは指示します DACS 管轄区域名を使用する 管轄-名前 〜へ
設定ファイルで使用する管轄セクションを選択し、それにそれを伝えます。
Web サーバーはフォワード プロキシとして機能します。 あれは、 管轄-名前 しない
要求された URL は必ず「所有」されます。 詳細については、を参照してください。 この 管轄
セクション[63]。

-我ら
これは指示します DACS に表示される唯一の管轄セクションを使用するには、
設定ファイル。 つまり、構成ファイルには XNUMX つだけ含まれている必要があります。
管轄セクションを参照し、それを使用する必要があります。 詳細については、を参照してください。
この 管轄 セクション[63]。

-v
-詳細
現在のログレベルと比較して、より詳細になります。 このフラグは繰り返してもよい。

- バージョン
バージョン情報をすぐに標準エラー出力に出力し、終了します。 もし -v 先に現れた
コマンドラインで、各バージョン情報も出力します。 DACS ソースコードファイル
このプログラム。

注意
完全なバージョン情報は、静的にリンクされたプログラムについてのみ利用できます。
また見てください dacsバージョン(1)[65]と dacs_version(8)[66]。

先端
管轄セクションを指定するコマンド ライン フラグが指定されていない場合、
環境変数 DEFAULT_JURISDICTION と一緒に与えられたかのように使用されます -uj フラグ。
これは、ホストに管轄区域が XNUMX つだけ構成されている場合に特に便利です。
常に管轄を指定する必要がなくなるからです。 DACS コマンド。

ENVIRONMENT


SERVER_NAME, サーバポート, REQUEST_URI
該当する管轄区域を決定するために使用される場合があります。

onworks.net サービスを使用してオンラインで DAC を使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad