web-dev-qa-db-ja.com

gitolite3ユーザーをgitに置き換えます

私はサーバーにgitolite3をインストールしており、sshとhttp pulling/pushing/alltherestを使用しています。プロセス中に、ユーザーとグループのgitolite3が作成されます。

私が走るとき:

$ ssh gitolite3@server info

RWリポジトリ情報を含む正しいgitolite3メッセージを受け取ります。

問題は、面倒なgitolite3の代わりに、通常のユーザーgitが必要です。他のスレッドでは、同じuid ang gidを使用してユーザーgitを作成することに言及していますが、これでは上記と同じ結果は得られません。

(従来のグラフィカルログイン画面を使用して)ログインすると、通常の管理者ユーザーと、どういうわけかgitolite3ユーザー名が表示されます(ただし、これがgitolite3なのか、作成したgitユーザーエイリアスなのかわかりません)。

Ssh git @ server infoがgitolite3で機能するように、gitユーザーを作成する/ gitolite3ユーザーを置き換えるにはどうすればよいですか?そして、ユーザーがログイン画面を使用していつログインできるかを正確に決定するものと、それをオフにする方法は何ですか?

7
Florian Mertens

これが新しい環境の場合は、通常のように新しいgitユーザーを作成してから、そのユーザーのgitoliteセットアップを実行します(gitolite3ユーザーを忘れます)。

本当に現在のgitolite構成/リポジトリなどを保持したい場合。完了したら、関連するすべてのファイルをそのユーザーにコピーするだけで(所有権情報が更新されていることを確認して)、正常に機能する可能性があります(余分なものがリストされている場合は、リポジトリを新しいマシンに移動する際のgitoliteドキュメントを確認してください)このプロセスに関する落とし穴)。

1
Etan Reisner

まだgitユーザーがなく、基本的にデフォルトのgitolite3ユーザーの名前を変更したい場合は、かなり簡単かもしれません。特権ユーザーとして次のコマンドを実行してみてください。

usermod -l git gitolite3

これにより、gitolite3ユーザーの名前がgitに変更されます。これにより、sshコマンドが希望どおりに機能するようになります。

ssh git@hostname info
4
Lanzaa

あなたの問題は、名前そのものではなく、名前を入力したくないということです。その後、しないでください:

プット

ssg () {

    ssh gitolite3@server $@
}

または

alias ssg="ssh gitolite3@server $@"

.bashrcに入れて、もう一度ソースを作成します。その後、ssg infoと言うだけです。もちろん、ssgの代わりに、必要なコマンドを使用して衝突することはありません。

この方法で行う理由は2つあります。1つはssh git@server infoよりも短いこと、もう1つは、ハードコードされた依存関係がないことを確認できないため、これらの種類のデフォルト名を変更したくないことです。システム内のこの名前は、文書化されていない限り、またはデフォルトを変更する方法がありません。

GUIログインの有効なユーザーが構成される場所は、ディストリビューション、デスクトップ環境、およびディスプレイマネージャーによって異なります。

0
Sven

同じuid、gid、ホームディレクトリを持つ別のユーザーを追加します。

あなたはそれが示唆されているのを見たと書いています、「しかしこれは上記と同じ結果をもたらさない」。あなたがどんな問題に遭遇したのかわかりません。同じホームディレクトリの設定を見逃したかもしれません。それ以外の場合はわかりません。これが私のやり方であり、正常に機能するためです。

ユーザーgitolite3を作成して使用するrpmを使用します。 rpmをいじりたくないのですが、コマンドでその長いユーザー名を使用しないので、/ etc/hostsのgitolite3に関する行を複製し、余分な行でユーザー名としてgitを使用します。

0
pst