先日サーバにSubversion(SVN)を立てました。その際、次のような設定を行ったので、その備忘録になります。
/var/svn/repos/conf/authzをエディタで開き、次のように編集します。
[/ReposHoge]はここで指定したフォルダのアクセス権限定義になり、ユーザー、またはグループごとにアクセス権限を設定します。書式は「ユーザーorグループ = アクセス権限」になり、グループの場合はグループ名の先頭に「@」を付与します。また、アクセス権限は次の通りです。
やることは簡単で、/var/svn/repos/hooks配下にある「pre-commit.tmpl」を「pre-commit」にリネームするだけです。
コミットコメントの入力必須化と同様、/var/svn/repos/hooks配下にある「pre-revprop-change.tmpl」を「pre-revprop-change」にリネームするだけです。
- ユーザー認証
- リポジトリへのアクセス制御
- コミットコメントの入力必須化
- コミット後のコミットコメントの編集許可
前提条件
CentOSにてSubversionをApache httpdと連携させており、Subversion.confで次のような設定がされているものとします。リポジトリのローカルパス (SVNPath) | /var/svn/repos |
---|---|
ユーザーファイル (AuthUserFile) | /var/svn/repos/conf/htpasswdz |
アクセス制御 (AuthzSVNAccessFile) | /var/svn/repos/conf/authz |
ユーザー認証
htpasswdコマンドでユーザーとパスワードを登録します。書式は次のような感じです。実行後、パスワード入力を求められるので、ユーザーに設定するパスワードを入力して下さい。
$ htpasswd /var/svn/repos/conf/htpasswdz hogeuser
なお、既存のユーザーを全て破棄して新規に登録する際は「-c」オプションを付けて下さい。また、ユーザーを削除するときは「-D」オプションを付けて下さい。リポジトリのアクセス制御
リポジトリ直下に複数のフォルダを切って、それぞれにアクセス制御を行います。SVN管理者の好みですが、今回は「アクセスを許可するグループ(GroupHoge)にユーザーを追加し、フォルダ(ReposHoge)にはグループごとのアクセス権限を与える」としました。/var/svn/repos/conf/authzをエディタで開き、次のように編集します。
[groups]
GroupHoge = hogeuser
[/ReposHoge]
@GroupHoge = rw
[groups]はグループの定義になり、書式は「グループ名 = 属するユーザー名」です。ユーザーが2名以上になる場合はカンマで区切ります。GroupHoge = hogeuser
[/ReposHoge]
@GroupHoge = rw
[/ReposHoge]はここで指定したフォルダのアクセス権限定義になり、ユーザー、またはグループごとにアクセス権限を設定します。書式は「ユーザーorグループ = アクセス権限」になり、グループの場合はグループ名の先頭に「@」を付与します。また、アクセス権限は次の通りです。
読取専用 | r |
---|---|
書込専用 | w |
読み書き | rw |
コミットコメントの入力必須化
何を更新したんじゃ(゚Д゚)ゴルァ!! と後から怒られないように、コミットコメントを入力必須にします。やることは簡単で、/var/svn/repos/hooks配下にある「pre-commit.tmpl」を「pre-commit」にリネームするだけです。
$ cp /var/svn/repos/hooks/pre-commit.tmpl /var/svn/repos/hooks/pre-commit
コミット後のコミットコメントの編集許可
コミットコメント間違っちゃった(´・ω・`)ションボリ といううっかりさんを救済するために、コミットコメントを後から編集可能にします。コミットコメントの入力必須化と同様、/var/svn/repos/hooks配下にある「pre-revprop-change.tmpl」を「pre-revprop-change」にリネームするだけです。
$ cp /var/svn/repos/hooks/pre-revprop-change.tmpl /var/svn/repos/hooks/pre-revprop-change
謝辞
以下のサイトを参考にさせて頂きました。この場を借りて感謝申し上げます。- Qiita - @beliefarrow
- Subversion - ユーザー作成手順 [ファイル管理]
- ○×(まるぺけ)つくろーどっとコム
- リポジトリごとにアクセス許可を設定する
- Javable.Jp
- TortoiseSVNでSubversionのコミットログを再編集できるようにする
コメント