LinuCレベル2 ネットワーククライアントの管理 問25
ネットワーククライアントの管理/OpenLDAPサーバーの設定OpenLDAPのcn=config方式で、データベースに次のアクセス制御を設定した。この設定によるuserPassword属性へのアクセスの説明として適切なものはどれか。 olcAccess: {0}to attrs=userPassword by self write by anonymous auth by * none
当サイトのオリジナル問題(LinuCレベル2の出題範囲「ネットワーククライアントの管理」に対応。実際の試験問題ではありません)
- A匿名接続ではuserPasswordを読み取れるが、認証済みの利用者は自分の値も含めて変更できない
- B認証済みの利用者は全員が他人のuserPasswordも書き換えられ、匿名接続だけが読み取れない
- C本人は自分の値を変更でき、匿名接続はバインド時の照合にだけ使え、それ以外は参照できない
- D本人も含めて誰もuserPasswordを変更できず、変更はslapaddによるオフラインの登録に限られる
正解:C
解説
olcAccess(slapd.conf方式ではaccess to)は「to 対象 by 誰 権限」の形で書き、byの行は先頭から順に評価されて最初に一致したものが適用されます。selfは対象エントリ自身としてバインドした利用者、anonymousは匿名接続、*はそれ以外の全員を表します。authはバインド(認証)時の照合だけに使える権限、writeは読み書き、noneはアクセス不可です。この設定は、パスワードを本人だけが変更でき、他人には値を読ませない典型的な書き方です。
選択肢ごとの解説
- A誤り。anonymousに与えているのはauthで、値の読み取りはできません。selfにはwriteを与えているため、本人は自分の値を変更できます。
- B誤り。writeを与えているのはself(本人)だけです。他の認証済み利用者は by * none に一致し、アクセスできません。
- C正しい。selfにwrite、anonymousにauth、それ以外にnoneを与えた設定です。
- D誤り。by self write により、本人はldappasswd等でオンラインのまま自分のパスワードを変更できます。