2006年12月31日

cvsadmin以外の権限制御

cvsadmin以外のユーザのadminコマンドの権限制御についてのエントリです。
----
cvsでは「cvs admin」コマンドでリビジョンの削除を含むかなり危険な操作が多数できてしまいます。

ただ、このコマンドはその危険性もあり、簡単に使用禁止にできます。

手順は

  • cvs の構築時に決定されるグループ名 (既定では cvsadmin) が存在する場合、そのグループの一員だけが cvs admin を利用できます。その名前で無人のグループを作成すれば、 cvs admin の使用を全面的に禁止できます。
にもあるとおりで、デフォルトではシステムに「cvsadmin」というグループがあれば、そこに所属しているユーザ以外はcvs adminコマンドを使用できなくなります。

ただ、そうするとコミットログを変更する「cvs admin -m」や擬似ロック制御で用いる「-l」や「-u」、ディレクトリごとのキーワード置換モードを設定する「-k」まで使用できなくなります。

特にコミットログの付け直しは「動作版」と銘打ってコミットしたのに、動かなかったけど、バージョンとしては重要な場合などに良く付け直すのでツブしたくないコマンドだと思います。

そう言う要望が全世界的にも多かったのかどうか知りませんが、最近のCVSではCVSROOT/configに記載する「UserAdminOptions」というオプションが増えています。

このオプションはcvsadminグループが存在しているときに、cvsadminに所属していないユーザが「cvs admin」コマンドのどのオプションを実行できるかと言うことを指定するためのオプションで

UserAdminOptions=klum
などと指定することによって上記の問題を回避できます。

詳細は

に書いてありますので、こちらを参照してください(英文ですが(^^;)

Posted by Takuchan at 2006年12月31日 20:52 | トラックバック(0)