Linux 上で、1 つのフォルダーのみへのアクセス権を持つユーザーを作成する必要があります。
背景:
仮想サーバー (Debian) に git をインストールしました。リポジトリ用のユーザーも作成しました。サーバーには多くのプライベート データがあります。ただし、サーバー上で実行されるアプリケーションに必要なため、すべてのフォルダーには他のユーザーが読み取りアクセスが可能です。そのため、git ユーザーはすべてのデータを見ることができます。
git ユーザーをリポジトリがインストールされているフォルダーのみに制限したいと思います。ACL も試しましたが、うまくいきませんでした。
これを行うより良い方法はありますか?
前もって感謝します!
答え1
私は自分で問題を解決しました。Gitolite は非常に良いようですが、私の問題にはオーバーヘッドが大きすぎます。
私は自分のサーバーに新しいユーザーを作成し、そのシェルをgit-shellに変更しただけです。
chsh -s /usr/bin/git-shell gituser
ここで、git を作成し、ユーザーがフォルダーに対して必要な権限を持っていることを確認しました。
答え2
調べてみるべきギトライトを使用すると、他のアクセス権を与えることなく、SSH 経由でサーバーに Git アクセスを設定できます。シェルを実行する代わりに、サーバー上で Git が操作するために必要なコマンドだけを理解するプロセスを実行するようにユーザーを設定することで機能します。1 つの Unix ユーザー アカウントだけで、SSH キーに基づいて複数のアカウントを設定することもできます。
答え3
この回答はSFTPを対象としていますが、設定方法も同じです。別の記事GIT ユーザーが、root や admin などのユーザー権限を上書きできるユーザー グループに属していないことを確認してください。