VPSで独自のgitリポジトリをホストしています。私のユーザーがジョンだとしましょう。
私のgitリポジトリにアクセスするためにSSHプロトコルを使用しているので、私のURLは 。ssh://[email protected]/path/to/git/myrepo/
ルートはその下のすべてのコンテンツの所有者です。/path/to/git
Johnに以下のすべての項目に対する読み取り/書き込みアクセス権を付与しようとしています。/path/to/git/myrepo
chmod
アクセスを制御しようとしましたが、setfacl
どちらも同じ方法で失敗しました。正しいオプションを使用してすべての権限を再帰的に適用します。現在の既存のサブディレクトリしかし、/path/to/git/myrepo
新しいディレクトリが作成されると、私のユーザーは新しいディレクトリに書き込むことができません。
私はコミットするたびに権限を再適用できるいくつかのフックがgitにあることを知っていますが、非常に基本的な目的に比べて複雑すぎるため、間違った方向に行っていると思い始めました。
尋ねる/path/to/git/myrepo
:rwがjohnの下のすべてのエントリにアクセスし、ツリー構造の変更に適応できるように、私の権限をどのように設定する必要がありますか?
第2四半期:一歩退いて一般的なアプローチを変えなければならない場合は教えてください。
編集する:質問はそのまま回答しましたが、質問が間違っています。正しい質問は、「Sshアクセス用にサーバーでデフォルトのgitリポジトリをどのように設定しますか?」です。私の答えを参照してください。
ベストアンサー1
myrepousers
たとえば、グループを作成し、gitユーザーをグループに追加します。
次に、/path/to/git/myrepoの下のすべてのグループをmyrepousersに変更します。
chown -R .myrepousers /path/to/git/myrepo
次に権限を変更します。
chmod -R g+w /path/to/git/myrepo
find /path/to/git/myrepo -type d -exec chmod g+s {} \;
すべてが準備されなければなりません。