Webサーバ勉強会に参加してきた。¶
id:oranieさんが主催した Webサーバ勉強会 に参加してきた。モジュールを読み込むだけのとこの話で、認証まわりモジュールを担当することになったので、auth, authn, authz, authnzとかあるけど違いをよう知らんのぉということで、関係図を作ることに一所懸命になって、肝心のモジュール自体を一行ずつ解説はしない、という手抜きっぷり。他の方はちゃんと一行ずつ解説してたので、ちょっと恥ずかしくなった。
さっきのエントリでようやくSlideShareに日本語ちゃんと表示できる形でアップできるようにしたので、こっちにも添付しておいた。 1
他の人もブログに書かれているが、発表形式とかも特に指定も無く20人いればいろんな発表形式になったので面白いかった。知らん設定とか結構あったので勉強にもなったし。また次回あれば、都合つけて参加したいですな。参加者の皆様どうもありがとうございました。
おまけ¶
なお、p.6の図は、graphvizで作ったので、コードもはっつけておこう。
# dot -Tps:cairo -o mod_auth.eps mod_auth.dot
digraph base {
graph [rankdir=LR,style=rounded,color="#8888ff"];
edge [labelfloat=true,fontsize=10];
node [shape=box,fontsize=10,fixedsize=true,width=1.5,height=0.3];
mod2 [label="mod_dbd",color=gray];
mod3 [label="mod_ldap"];
subgraph cluster0 {
index0 [label="認証フロントエンド\nモジュール",shape=plaintext,height=0.5];
mod00 [label="mod_auth_basic"];
mod01 [label="mod_auth_digest"];
}
subgraph cluster1 {
mod10 [label="mod_authn_file"];
mod11 [label="mod_authn_dbm"];
mod12 [label="mod_authn_dbd",color=gray];
mod13 [label="mod_authnz_ldap"];
mod14 [label="mod_authn_anon"];
mod15 [label="mod_authn_alias"];
index1 [label="ユーザ認証\nモジュール",shape=plaintext,height=0.5];
}
subgraph cluster2 {
index2 [label="承認モジュール",shape=plaintext];
subgraph cluster20 {
index20 [label="ユーザ承認",shape=plaintext];
mod200 [label="mod_authz_user"];
mod201 [label="mod_authz_owner"];
}
subgraph cluster21 {
index21 [label="グループ承認",shape=plaintext];
mod210 [label="mod_authz_host"];
mod211 [label="mod_authz_groupfile",width=1.68];
mod212 [label="mod_authz_dbm"];
}
}
subgraph cluster3 {
index3 [label="フォールバック\nモジュール",shape=plaintext,height=0.5];
mod30 [label="mod_authn_default",width=1.7];
mod31 [label="mod_authz_default",width=1.7];
}
subgraph cluster4 {
index4 [label="認証プロバイダ",shape=plaintext];
provider0 [label="file"];
provider1 [label="dbm"];
provider2 [label="dbd",color=gray];
provider3 [label="ldap"];
}
subgraph cluster5 {
index5 [label="OS管理の情報など",shape=plaintext];
resource0 [label="ホスト名\nor\nIPアドレス",height=0.68];
resource1 [label="ファイル所有者"];
}
index6 [label="anonymous認証",shape=plaintext];
index0->index1;
index1->index21;
mod10->provider0;
mod11->provider1;
mod12->provider2;
mod13->provider3;
provider2->mod2 [label="コネクションプール、\nキャッシュ"];
provider3->mod3 [label="コネクションプール、\nキャッシュ"];
mod211->provider0;
mod212->provider1;
index0->mod30 [label="設定なし"];
index2->mod31 [label="設定なし"];
mod210->resource0;
mod201->resource1 [label="file-owner"];
index1->mod200 [label="user\nvalid-user"];
index1->mod201 [label="file-owner\nfile-group"];
mod15->mod10 [label="alias"];
mod15->mod11 [label="alias"];
mod15->mod12 [label="alias"];
mod15->mod13 [label="alias"];
index6->mod14 [rank=same];
}
- 1
Githubでは既に公開済み