Re: 問題ID 28335について(質問)

この質問の投稿一覧へ

なし Re: 問題ID 28335について(質問)

msg# 1.1
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2017-5-22 9:48
arashi1977  長老 居住地: 広島  投稿数: 1715
引用:
・access to * by * read ・・・(1)
・access to *      ・・・(2)
 by anonymous read
 by * none

となっていますが、上記の記述は同じ設定となるのでしょうか。
(1)は全てのユーザ(認証、匿名含む)に対して読み取り許可
(2)は匿名ユーザのみ(?)に対して読み取り許可、それ以外は拒否
のように見え、設定が異なるような気がしています。

ひょっとすると、(2)の場合のように匿名ユーザで読み取りを許可している場合、上位のユーザ(例:認証ユーザ)でも読み取りが許可されたりするのでしょうか?
解説の以下の部分に関する話題ですね。
引用:
アクセス制御の設定を何も記述しない場合は「access to * by * read」と同じ条件が適用され、全てのデータを全てのユーザが参照できるようになっています。
認証される前のユーザの為に、anonymousを指定します。
したがって、アクセス制御が記述されていない場合は以下の設定がされているのと同じことになります。

access to *
by anonymous read
by * none
※なんか「認証される前のユーザの為に、anonymousを指定します。」って変な文だなぁ…

勘違いしてはいけないのは、anonymousは「匿名のユーザ」ではなく、「認証前のユーザ」であることですね。

「access to * by anonymous read」というアクセス制限は「認証前のユーザに対して、全てのエントリの読み取りを許可する」ということです。認証前のユーザということは、OpenLDAPで管理している(アクセス制限可能な)ユーザ以外も対象なわけです。
そうすると、「登録されたユーザであろうがなかろうが、全てのエントリの参照を許可する」ので、「上位のユーザ」とか関係ないってことになりますね。

そして参考にもありますが
引用:
by以降に記述されている条件は順番に処理され、条件にマッチするとそれ以降の条件は処理されません。記述する順番には注意が必要です。
と、「by * none」が評価される前に、(認証前の)全てのアクセスに対して読み取り許可を付与する条件がマッチしていますので、「それ以外は拒否」が発動しません。

というところでどうでしょうか?

投稿ツリー

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.