助け合いフォーラム
この問題はプレミアムコンテンツです。
アクセス制御について
以下の正解の選択肢は匿名以外はアクセス権をnoneとしているのである意味
アクセス制御していることになるのではないでしょうか?
olcAccess: to *
by anonymous read
by * none
上記回答がアクセス制御していないという理由をどなたかご教示いただけますでしょうか?
何卒よろしくお願いします。
LinuC ですが正にほぼ同じ箇所を学習していました。
1行ずつ読み取るとこうですかね。
olcAccess: to * → 全てのエントリに対して
by anonymous read → 認証前のユーザは参照できます
by * none → それ以外のユーザはアクセスできません
が、これ2行目の条件によって全ユーザ(未認証ユーザ含む)がマッチしますので、3行目が評価されることはありません。
もう少し丁寧に説明すると、
by anonymous read
の anonymous は認証される前のユーザ(匿名ユーザではないです)であり、認証可能なユーザを含む全ユーザを意味します。
参考に以下のようにあります。
「by anonymous auth」の記述があるのは、LDAPサーバにアクセスする際は必ず認証を行う必要があるためです。認証される前のユーザの為に、anonymousを指定します。この記述がないとそもそも認証ができなくなりますので、注意が必要です。
よって、2行目で「全てのエントリを全てのユーザが参照できる」ということになります。
さらに、3行目「by * none」は以下の理由により評価されません。
by以降に記述されている条件は順番に処理され、条件にマッチするとそれ以降の条件は処理されません。記述する順番には注意が必要です。
2行目の条件により「全ユーザ」がマッチしますので、3行目は評価されないんですね。
よって、「アクセス制御の設定をしていない条件と同じ定義」となります。
コメント
この投稿に対して返信しませんか?