UbuntuサーバーにリモートのベアGitリポジトリがあり、ファイルはユーザーmy_project
とグループmy_project
によって所有されており、それに応じて権限が設定されています。すべてのコミッショナーは、グループmy_project
に所属しています。
誰かがコミットしてから、ユーザーmy_user
のUbuntuラップトップからSSH経由でサーバーにプッシュすると、リモートリポジトリ内のいくつかのファイルが作成(更新?)されるため、ユーザーとグループmy_user
に属します。
もちろん、他の誰かがコミットしたい場合、彼は書き込み権限を持っていないため、今ではコミットできません。権限を777に設定することはできますが、これは最善のオプションではありません。
制限された書き込み権限を維持しながらこの問題を解決できる方法はありますか?
SUIDビットとSGIDビットは役に立ちますか?同様のメカニズムを使用して、bzrグループのメンバーがファイルをBazaar中央リポジトリにコミットし、アクセス可能なアクセス許可を保持できるようにします。
drwsrwsr-x 3 bzr bzr 4.0K 2010-04-15 17:58 bzr
Sudo chmod ug+s /home/bzr
で設定
/ etc/groupにはbzr:x:1012:bzr,tom,<and a whole bunch of other usernames>
が含まれています
これは私たちにとってはかなりうまく機能しているようで、bzrグループのユーザーが中央リポジトリにファイルをコミットできるようになっています。
明らかなセキュリティ上の理由から、モード777の設定はおそらく理想的ではありません。
私が要点を逃したなら、おっと。
core.sharedRepository
のgit config --help
構成変数を確認してください。グループに設定するとうまくいくかもしれません。
別のオプションは、リポジトリを管理するために gitosis のようなものを使用することかもしれません。