GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Fehler bei der Verwendung von Git Credential Helper mit gnome-keyring als Sudo

Beachten Sie neben der Verwendung von sudo, dass im Jahr 2016 libgnome-keyring ist spezifisch für GNOME und ist jetzt veraltet (eigentlich seit Januar 2014).

Option 2022:git-credential-manager

Microsoft stellt ein plattformübergreifendes Hilfsprogramm für Anmeldeinformationen namens GCM (Git Credential Manager) bereit , die Sie installieren (keine Erstellung erforderlich) und konfigurieren können:

git-credential-manager-core configure

Sie benötigen Git 2.27+, um es zu verwenden.

Option 2016:git-credential-libsecret

Git 2.11+ (4. Quartal 2016) enthielt ein neues Credential Helper mit libsecret .

Siehe Commit 87d1353 (9. Okt. 2016) von Mantas Mikulėnas (grawity). ).

Ein neuer Berechtigungshelfer, der über "libsecret" kommuniziert " mit Implementierungen der XDG Secret Service API wurde zu contrib/credential/ hinzugefügt .

es verwendet libsecret die andere Implementierungen der XDG SecretService API unterstützen kann.

Aber im Jahr 2022 wird dies nicht mehr benötigt. Siehe oben

Wie von mati865 in den Kommentaren vermerkt:

Es sollte beachtet werden, dass einige Distributionen wie Arch und Fedora Hilfsprogramme bereitstellen, die sowohl als Binärdatei als auch als Quelle verfügbar sind.

  • Libsecret-Binärdatei auf Arch:/usr/lib/git-core/git-credential-libsecret , und
  • Libsecret-Binärdatei auf Fedora:/usr/libexec/git-core/git-credential-libsecret .

Hinweis: Wie @rugk in den Kommentaren hinzufügt, müssen Sie für Fedora und Git v2.25.2-1 oder höher ein zusätzliches Paket mit dieser Binärdatei installieren, da es vom Haupt-Git-Paket getrennt wurde:

dnf install git-credential-libsecret

Mit sudo führt den Befehl als root aus. Es ist, als ob Sie Ihren Systemadministrator bitten, einen Befehl für Sie auszuführen, falls Sie einen haben. Die root Benutzer ist nicht soll alles tun, was mit der Entwicklung zu tun hat, und daher git ist nicht soll als root verwendet werden.

Sobald Sie einen Befehl als ein anderer Benutzer (Root oder irgendein anderer) ausführen, wird erwartet, dass dieser andere Benutzer nicht normal mit Ihrem normalen Benutzer kommunizieren kann (insbesondere findet er Ihren gnome-keyring-daemon hier nicht).

Die Antwort lautet also:„Tu das nicht“. Wenn Sie wirklich in einem bestimmten Verzeichnis klonen müssen, erteilen Sie sich selbst Berechtigungen für dieses Verzeichnis, wie in der Antwort von CodeWizard vorgeschlagen. Wenn Sie tatsächlich in ein Verzeichnis klonen müssen, für das Sie keine Berechtigung haben, fragen Sie sich, ob Sie etwas falsch machen:Im Prinzip sollte dies nicht passieren (ich vermute:Sie haben bereits sudo zu viel in der Vergangenheit und das ist der Grund, warum Sie hier und da umschreibbare Verzeichnisse haben).


Manchmal muss ich sudo git clone ausführen, da das Verzeichnis, in dem ich einen Klon erstellen muss, dies manchmal erfordert. Jede Hilfe wäre willkommen

Der Ordner, in den Sie versuchen, das Repository zu klonen, wurde von root erstellt, sodass Sie keine Berechtigung zum Schreiben oder Erstellen von Ordnern darunter haben, es sei denn, Sie sind root (sudo ), legen Sie die Berechtigungen fest (chmod oder chown ) und Sie können in den Ordner klonen.

chmod 755 /path

Linux
  1. Git-Klonfehler:Zugriff auf URL nicht möglich, Problem mit dem SSL-CA-Zertifikat

  2. Fehler bei der Verwendung von GRANT mit IDENTIFIED by password in MySQL

  3. Verwenden Sie Notify-Send mit Cron?

  4. Mail-Cron-Ausgabe nur, wenn Git einen echten Fehler auslöst?

  5. Git-Autovervollständigung?

Behebung des „Exec-Formatfehlers“ beim Ausführen von Skripts mit dem Befehl „run-parts“.

Debian – Umzugsfehler mit Sudo Apt?

dynamic_cast schlägt fehl, wenn es mit dlopen/dlsym verwendet wird

So behalten Sie Umgebungsvariablen bei der Verwendung von sudo bei

Warum wird mein $LD_LIBRARY_PATH zurückgesetzt, wenn ich screen mit bash verwende?

Verwenden von scp mit einem weitergeleiteten SSH-Agenten