2013年7月27日土曜日

2013年7月18日木曜日

階層構造になっているセキュリティグループ内のユーザーを再帰的に検索するLDAPフィルタ

"LDAP_MATCHING_RULE_IN_CHAIN"。非常に有益な機能だと思うが、日本語の情報がほとんど無かったので記事にしておく。
普通のLDAP検索フィルタは、ネストしたセキュリティグループに対応不可

Active Directory環境では、セキュリティグループのメンバーにセキュリティグループを入れるというネスト(入れ子)構造をよく使うと思う。セキュリティグループは会社組織と対応付けされることが多いので、例えば○○部のセキュリティグループの下に●●課のセキュリティグループと▲▲課のセキュリティグループを入れるといった具合だ。
ところが、このような構造において、「○○部に所属するユーザを全員取り出す」といったLDAP検索フィルタを書こうとすると難儀することになる。
Figure.1 ネストしたセキュリティグループ

上図のような構造で、GroupAに属するユーザーを取り出すLDAPフィルタを書く場合、単純に考えると
(&(objectClass=user)(memberOf=CN=GroupA,DC=example,DC=com))
と書けばよさそうだが、これではUser1しかヒットしない。memberOf句はグループのネストに対応していないので、指定したグループ(GroupA)の直下にいるメンバーしか見つけてくれないのだ。
AD独自の演算子で、ネストしたセキュリティグループを再帰的に検索
実はADのLDAPには、この問題を解決してくれる独自の演算子が用意されている。
Search Filter Syntax (Windows)
に紹介されている"LDAP_MATCHING_RULE_IN_CHAIN"がそれだ。
具体的には下記のように記述すればよい。
(&(objectClass=user)(memberOf:1.2.840.113556.1.4.1941:=CN=GroupA,DC=example,DC=com))
このフィルタなら、GroupAの下にあるGroupBのメンバーも再帰的に検索してくれるので、User1、User2の両方がヒットする。  "1.2.840.113556.1.4.1941"がLDAP_MATCHING_RULE_IN_CHAINのOIDなのだそうな。
手っ取り早く試すなら、ldifdeコマンドで
ldifde -f export.ldf -r "(&(objectClass=user)(memberOf:1.2.840.113556.1.4.1941:=CN=GroupA,DC=example,DC=com))"
とか書いてみるとよい。

2013年6月27日木曜日

自己学習による元手ゼロのPDU申請(Cat C: Self-Directed Learning)

PMPホルダーにとってPDU稼ぎは頭痛の種であるが、この度、セミナー等を受講しなくても無料でPDUを取得できる"Cat C: Self-Directed Learning"の申請にチャレンジし、無事受理されたので、3年後の自分のためにもメモを残しておく。
※PMIのサイトは頻繁に仕様変更をするので、近い将来、当記事とは申請方法が変わっているかもしれない。これは2013年6月末時点での手順であることをお断りしておく。
※PMI Code of Ethicsには「PMIのサイトのスクリーンショットを他所で使ってはならない」とは書いてないっぽいので当記事は問題ないと思っておりますが、もし何らかの規約に抵触しているようであれば、ご指摘いただけると幸甚です。
Posted in 

2013年5月17日金曜日

自前でWevDAVサーバを立てて、DropboxをWebDAV化する

さくら VPS に Dropbox をインストールして WebDAV 化する | 澍法雨に感動した。一言で言うと、LinuxサーバをDropboxのWevDAVゲートウェイにするという技である。記事タイトルにはさくらVPSとあるが、別にさくらVPSでなくても、普通のLinuxサーバでよい。
この手を使えば、OtixoとかDropDavとかの有料サービスを使わなくても、DropboxにWebDAV経由でアクセスできる。
WebDAVの何がイイかって、普通のDropboxクライアントアプリと違ってPCのローカルにファイルが残らないし、Proxyだって超えられちゃう。
Windows7ならWebDAVをネットワークドライブとしてマウントできるので、使い勝手もローカルフォルダと同じ。こいつぁすげえ。
早速、手持ちのCentOSサーバでやってみた。

2013年5月12日日曜日

2013年5月10日金曜日

ownCloud5.0.5+クライアント1.2.5で複数アカウント・複数PC間のファイル共有を試す

約1年越しでownCloudを触ってみてるのでレポートする。

ownCloud5.0で漸く実用レベルに?

昨年はownCloud4.0とWindows版クライアントアプリ1.0.3で検証していたが、そこから情報更新が滞ったのには訳がある。実のところ、複数のPC間でファイル共有を試してみたところ、ファイル更新時にうまく同一ファイルと認識されずコンフリクト扱いとなってしまう現象が頻繁に発生した。これでは使いものにならないので、検証をやめていたのだ。

今年の3月にownCloudが5.0になり、クライアントアプリも先月1.2.5になったので、再度試してみた。

2013年5月6日月曜日

Vimperatorプラグインnextlink.jsを動くようにした(WIP)

先日の記事の続き。とりあえず、一部サイトで動くようになったので、公開する。
あまりちゃんとテストしてないが、Googleの検索結果、@IT、Bloggerあたりで正常動作確認済み。動かないサイトはITProなど。まだ追求はしていない。2013.05.07 ITProで動かない理由は判明(文末に追記)
直し方はかなり「無理やり」であり、ホントに「とりあえず動く」だけなので、公式(https://github.com/vimpr/vimperator-plugins)へのpull requestはしないつもり。versionは"0.3.9 altered"としておいた。
HTMLをDOMとしてパースする処理はhttp://jsdo.it/kjunichi/qDCfあたりを参考にさせていただいた。

根本的に直すのであれば_libly.jsの修正が必要だと思うが、流石に影響範囲が広すぎるし、そもそもそういう直し方でいいのかという議論もあると思うので、俺みたいな素人ではなくvimprのコアなメンバーの皆様のご判断が必要と考えている。