助け合いフォーラム
この問題はプレミアムコンテンツです。
「* auth」が誤りの理由
本文で「* auth」が間違いである理由がわかりませんでした。
解説は「全てのユーザに認証する権利を与えていますので、誤りです。」とありますがピンと来ません。
by self write
by users read
の2行で、ユーザ自身と、認証済のユーザに対してアクセス権を先に設定しているので、
このあとの行で「*」を指定すれば、実質対象は匿名ユーザ(anonymous)になると思ったのですが違いますか。
「anonymous auth」と違い 「* auth」にしてしまうと具体的に
どういうアクセスまで認証範囲が広がってしまうことになりますか。
この問題のACLなら、「* auth」としたところで実質的な動作としては要求者(who)はanonymousになるはずです。
誤りの選択肢の解説がピンと来ないのは同意です。
ここで* authが誤りの理由については、より適した選択肢があるのと、
以下マニュアルにあるように推奨される記述ではないというのが適切でしょう。
https://www5f.biglobe.ne.jp/~inachi/openldap/admin23/slapdconfig-ja.html#%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E6%A8%A9%E3%82%92%E4%B8%8E%E3%81%88%E3%82%8B%E5%AF%BE%E8%B1%A1%E3%81%AE%E6%8C%87%E5%AE%9A
access to * by self write by anonymous auth by * read
このディレクティブの利用例は、認証ユーザが自分のエントリを更新できるようにし、匿名ユーザが認証を行えるようにし、その他すべてのユーザが読み取れる(read)ようにします。一致する最初の by 節だけが適用することに注意してください。したがって、匿名(anonymous)ユーザには認証権(auth)が与えられ、読取り権(read)は与えられません。最後の節は "by users read" としたほうがよいでしょう。
コメント
この投稿に対して返信しませんか?
s staff_khira0410
2024/11/26 10:20
miki_y さん、tiskw さん ご指摘の点を修正いたしました。 ご報告、誠にありがとうございました。