subversion(2), 「光速より速い光」読了, Macworld(2)
subversion(2)
そうなのでした…。1結論から言うと、こと読み取りに関するアクセス制御はたとえ apache を経由していたとしてもあまり自由度が高くないのでした。
当初僕は、次のようなことをすれば単一のリポジトリ内でもディレクトリ別にアクセス制御をかけることが可能なのではないかと考えていました。2
# リポジトリのトップ
<Location /svn/repos>
DAV svn
SVNPath /opt/repos
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile conf/svnpasswd
Require user admin
# 少数の管理者のみ含む
</Location>
<Location /svn/repos/project1>
Require user admin project1-user ...
</Location>
実際に上のような設定をしてみるとすぐにわかりますが、これではうまく動きませんでした。subversion ではリポジトリ内ディレクトリに対応した path の他に、リポジトリトップ直下の SVNSpecialURL ディレクティブで指定されたディレクトリ (デフォルトでは「!svn」) にも頻繁にアクセスするからです。
そこで、設定を次のように変更してみました。
# リポジトリのトップ
<Location /svn/repos>
DAV svn
SVNPath /opt/repos
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile conf/svnpasswd
Require user admin
# 少数の管理者のみ含む
</Location>
<Location /svn/repos/project1>
Require user admin project1-user ...
</Location>
# SVNSpecialURL は全員がアクセス可能にする。
<Location /svn/repos/!svn>
Require valid-user
</Location>
上記のように設定することで、svn コマンドや Windows 上の TortoiseSVN などのクライアントプログラムを用いる限り、ユーザ毎に特定のディレクトリ以下しか閲覧すらできないようにすることが出来るように見えます (一番最初に必ず発行される PROPFIND が失敗するため)。
しかし、subversion クライアントが apache サーバにアクセスするパターンを access_log などでよーく観察すると、特に一番最初に working tree を checkout する際、実際にデータを引き出しているのは SVNSpecialURL 以下へのアクセスであることがわかります。
そこで、正規のクライアントではなく直接 HTTP により checkout 処理に相当するコマンドを apache に与えてみると、本来あるユーザには許可されていないディレクトリ以下のデータも全て取得可能であることがわかりました。
結局、読み取りに関してはリポジトリ単位にしかアクセス制御出来ないのでした。残念!なお、commit 可否については (Limit ディレクティブや hook-script を用いることで) もう少し柔軟に制御出来るようです。為念。
それにしてもこうのさん、働き過ぎですよ!お身体には気をつけて〜。
「光速より速い光」読了
面白かった!VSL (光速度変動) 理論が納得出来る、という種類の本ではありませんが、アインシュタインを否定するようなとんでもないアイディアを思いついてしまった若い科学者が、いろいろなことに巻き込まれながらも1つのムーブメントを作り出すさまがとても生き生きと書かれています。若さゆえかあまりにもズケズケといろんなことが書いてあるので、そういうのが気になってしまう人はちと読みにくいかも。僕はとても楽しく読めました。
作者のジョアオ・マゲイジョさんはなんと僕と4歳しか違わないんですよねぇ…。僕ももっと脳味噌を回転させねば、と思った次第。
Macworld(2)
結局、20周年らしいところと言えばあの「1984」をリメイクしたことくらいでしたねぇ (しかもほとんどリメイクの意味がないような…)。iPod mini も噂通りだったし (予想よりも高価だったみたいですが)、あまり目新しいもののない Macworld なようです。10年に一度くらいはみんながびっくりするようなとんでもないマシンを作ってくれてもいいのにね。
しかしよく考えてみると、今「みんながびっくりするようなとんでもないマシン」ってどんなものでしょ?こないだの激薄 VAIO、505EXTREME はそこそこびっくりしましたが、10年に一度のイベントならばあんなレベルで満足してちゃダメだよな。
MYCOM PC WEB のインタビューによると、今年は「ウェアラブル PC を普及させる年」らしいので、そちら系だとどうだろう。これまでにない高精細 HMD と革新的な入力デバイス3、どこでもコネクティビティを備えたウェアラブル Mac を作って出したら結構面白い?
既存の発想から抜け切れてないって?ごもっとも…。