ブログはじめました。(ご挨拶と自己紹介)
izuming(イズミン)といいます。
会社の先輩に勧められたのでブログを始めました。
複雑な経緯・事情はありません。
勧められた、だから始めた、ただそれだけです。
そしてこのブログはIT技術系や書評などの記事を載せていく予定です。
ブログを書くのは初めてではないですが、IT技術系のブログを書くのは初めてです。
そしてIT技術系のブログは「はてな」を利用してる人が多い気がしたので「はてな」で書き始めてみました。
で一応、ITエンジニアを生業としております。
ここ数年はSubversionやTracの社内技術サポートや社内セミナーの講師をしております。(とはいえ、せいぜい「ちょっと詳しいユーザー」のスキルレベルなので大したことないです。)
一番得意な技術分野はWindowsServerと仮想化(VMware系)でしょうか。
プログラミングは大昔にCやらC#やらVB(.net含む)を1年ほどやった程度で
最近はbatしか書いてないです。
そんな具合で少々残念なかんじではありますが、普段、googleで技術情報を調べる際に個人ブログの情報にお世話になることが多々ありましたので、ここで何かの恩返し(有益な情報の発信・提供)が出来れば幸いです。
長く続けられるといいな。。。
それでは、よろしくお願いします。
AuthzSVNAccessFileでのsvnauthzファイルについて
Subversionにおいてディレクトリ毎のアクセス制御を行うために
AuthzSVNAccessFileディレクティブで指定するsvnauhtzファイル(※)ですが
そのファイル中の設定について少々覚書を。
※:正確にはアクセスファイル、というようです。httpd.confで指定してやれば別にファイル名はsvnauthでもhogeでも構わないのですが大体はsvnauthzにするのが一般的です。
●上位階層の設定より下位階層の設定のほうが有効となる
こういう設定がされている場合
testproject/trunk/01では全員read権限しかありません。
--------------------------------
[testproject:/trunk]
* = rw
[testproject:/trunk/01]
* = r
--------------------------------
当たり前のようですが、意外とわからなくなるので大原則として覺えておきたい仕様です。なお、これはsvnbookでは"詳細に設定されている方が有効となる"という書き方で表現されています。
●ディレクトリ自体を指定する際は末尾は「/」となる
特定の階層について権限設定する際に
[testproject:/trunk/01]ではなく[testproject:/trunk/01/]のように設定すると
testproject/trunk/01/というディレクトリ自体(配下のファイル・フォルダを含まず)について権限設定がされます。
例えば下記のような設定の場合、全ユーザは[testproject:/trunk]の設定が継承されるため
testproject/trunk/01配下のファイル・フォルダについてread/write権限がありますが
testproject/trunk/01 ディレクトリを削除する際にはユーザはread権限しかないため、forbiddenエラーとなります。
--------------------------------
[testproject:/trunk]
* = rw
[testproject:/trunk/01/]
* = r
--------------------------------
ディレクトリ自体に権限設定する需要があまり思い浮かびませんが
例えばディレクトリ名の変更のみを制限したい場合などに使えるかもしれません。
とはいえ、レアなケースだと思いますので、特定の階層以下について権限設定する際には[testproject:/trunk/01/]ではなく[testproject:/trunk/01]のように設定しましょう。
参考にした情報ソース
・Version Control with Subversion
"The thing to remember is that the most specific path always matches first."
http://svnbook.red-bean.com/en/1.7/svn.serverconfig.pathbasedauthz.html
・svnbook日本語訳のPDF版を作成してみました