web-dev-qa-db-ja.com

すべてのgitキャッシュパスワードを読み取る

10人以上のチームでは、同じubuntuにアクセスしますVMそして同じユーザーに「su」します。そのユーザーでは git-credential-cache を使用します個人パスワードを何度も入力しない機能。

すべてのパスワードは同じユーザーが所有するソケットを使用して保存されるため、単純なプログラムですべてのプレーンテキストパスワードを取得できますか?はいの場合、それをどのように実証するかについての指針はありますか?

はいの場合、パスワードのキャッシュ方法を確実に変更する必要があります(セッショントークンで十分です)。

4
Michael

はい、 git-credential-cacheには ビルトイン機能 があり、キャッシュの内容を読み取るには、このコマンドを実行して、保存されている資格情報(プレーンテキストのパスワードを含む)を取得するだけです。

$ echo -ne 'username=<repo_user>\nprotocol=<repo_protocol>\nhost=<repo_Host>\n' | git credential-cache get

たとえば、リポジトリとして https://[email protected] を使用している場合、次のようにして保存されている資格情報を抽出できます。

$ echo -ne 'username=git\nprotocol=https\nhost=github.com\n' | git credential-cache get
  username=your_github_user
  password=your_github_password_in_plaintext

クエリの "username"の部分は、同じリポジトリで複数のユーザーが作業している場合にのみ必要です(これはあなたの状況だと思います)。

6
llmora