特定のディレクトリの既存または将来のサブディレクトリにある特定のユーザーに読み取り/書き込み権限を付与する方法は?

特定のディレクトリの既存または将来のサブディレクトリにある特定のユーザーに読み取り/書き込み権限を付与する方法は?

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 {} \;

すべてが準備されなければなりません。

おすすめ記事