GNU/Linux >> Linux Esercitazione >  >> Linux

Errore durante l'utilizzo dell'helper delle credenziali Git con gnome-keyring come Sudo

Oltre all'uso di sudo, si noti che nel 2016, libgnome-keyring è specifico di GNOME ed è ora deprecato (da gennaio 2014, in realtà).

Opzione 2022:git-credential-manager

Microsoft fornisce un assistente per le credenziali multipiattaforma denominato GCM (Git Credential Manager) , che puoi installare (non è necessario compilarlo) e configurare:

git-credential-manager-core configure

Avrai bisogno di Git 2.27+ per usarlo.

Opzione 2016:git-credential-libsecret

Git 2.11+ (Q4 2016) includeva un nuovo assistente per le credenziali utilizzando libsecret .

Vedi commit 87d1353 (09 ottobre 2016) di Mantas Mikulėnas (grawity ).

Un nuovo assistente per le credenziali che comunica tramite "libsecret " con implementazioni dell'XDG Secret Service API è stato aggiunto a contrib/credential/ .

utilizza libsecret che può supportare altre implementazioni dell'API XDG SecretService.

Ma nel 2022 questo non è più necessario. Vedi sopra

Come notato da mati865 nei commenti:

Va notato che alcune distribuzioni come Arch e Fedora forniscono helper disponibili sia come codice binario che sorgente.

  • Binario di Libsecret su Arch:/usr/lib/git-core/git-credential-libsecret , e
  • Binario di Libsecret su Fedora:/usr/libexec/git-core/git-credential-libsecret .

Nota: Come @rugk aggiunge nei commenti, per Fedora e Git v2.25.2-1 o versioni successive, è necessario installare un pacchetto aggiuntivo con quel binario, perché è stato separato dal pacchetto git principale:

dnf install git-credential-libsecret

Usando sudo esegue il comando come root. È come chiedere al tuo amministratore di sistema, se ne hai uno, di eseguire un comando per te. Il root l'utente non destinato a fare qualsiasi cosa relativa allo sviluppo, e quindi git non pensato per essere usato come root.

Una volta eseguito un comando come un altro utente (root o qualsiasi altro), è previsto che quest'altro utente non possa comunicare normalmente con il tuo utente abituale (in particolare, non trova qui il tuo gnome-keyring-daemon).

Quindi, la risposta è:"non farlo". Se hai davvero bisogno di clonare in una particolare directory, concediti le autorizzazioni su quella directory come suggerito nella risposta di CodeWizard. In realtà, se devi clonare in una directory in cui non hai i permessi, chiediti se stai facendo qualcosa di sbagliato:in linea di principio, questo non dovrebbe accadere (la mia ipotesi è:hai già usato sudo troppo in passato e questo è il motivo per cui hai directory um-scrivibili qua e là).


A volte ho bisogno di eseguire sudo git clone poiché a volte la directory in cui devo creare un clone lo richiede. Qualsiasi aiuto sarebbe apprezzato

La cartella in cui provi a clonare il repository è stata creata da root quindi non hai il permesso di scrivere o creare una cartella sotto di essa a meno che tu non sia root (sudo ), imposta i permessi (chmod o chown ) e sarai in grado di clonare nella cartella.

chmod 755 /path

Linux
  1. Errore nell'utilizzo di GRANT con IDENTIFIED by password in MySQL

  2. Utilizzando Notifica-Invia con Cron?

  3. Debian – Errore di trasferimento utilizzando Sudo Apt?

  4. Output di Mail Cron solo quando Git genera un errore reale?

  5. Git Completamento automatico?

Correggi "Errore di formato Exec" durante l'esecuzione di script con il comando run-parts

comando non trovato quando si utilizza sudo

Salta la richiesta del nome utente quando usi git

Utilizzo di scp con un agente ssh inoltrato

'Etichetta disco non riconosciuta' - quando si utilizza parted con immagini qemu

comando linux trovato ma non trovato quando si usa sudo