Erreur lors de l'utilisation de Git d'identification helper avec gnome-keyring que Sudo
Je cherchais un moyen de stocker des informations d'identification en toute sécurité lors de la connexion à notre serveur Git qui utilise le protocole SSL. Je suis tombé sur cette suggestion par @james ward (seulement édition que j'ai faite est j'ai mis à jour notre "système" config à la place de notre "global" config Git (https://stackoverflow.com/a/14528360/6195194)
sudo apt-get install libgnome-keyring-dev
cd /usr/share/doc/git/contrib/credential/gnome-keyring
sudo make
git config --system credential.helper /usr/share/doc/git/contrib/credential/gnome-keyring/git-credential-gnome-keyring
Je peux exécuter
git clone https://ipaddress/git/repo.git
et les informations d'identification helper va stocker mes informations d'identification, cependant quand je lance le suivant:
sudo git clone https://ipaddress/git/repo.git testfolder
me donne l'erreur suivante
** (process:3713): CRITICAL **: Error communicating with gnome-keyring-daemon
J'ai parfois besoin de lancer la commande sudo git clone depuis parfois le répertoire où j'ai besoin de faire un clone exige. Toute aide serait appréciée.
Versions, je suis en utilisant:
- git version 1.9.1
- Ubuntu Server 14.0.4
Vous en remercie d'avance!
-Richard O.
- Double Possible de Comment utiliser git avec gnome-keyring intégration
Vous devez vous connecter pour publier un commentaire.
Le dossier dans lequel vous essayez de cloner le dépôt a été créé par la racine, de sorte que vous n'avez pas l'autorisation d'écrire ou de créer des sous-dossier, sauf si vous êtes root (
sudo
), définissez les autorisations (chmod
ouchown
) et vous serez en mesure de cloner dans le dossier.À côté de l'utilisation de sudo, note qu'en 2016,
libgnome-keyring
est spécifique à GNOME et est maintenant obsolète (depuis En janvier 2014, en fait).Git 2.11+ (T4 2016) comprendra un nouveau justificatif aide de
libsecret
.Voir s'engager 87d1353 (09 Oct 2016) par Les Mantas Mikulėnas (
grawity
).(Fusionnés par Junio C Hamano --
gitster
-- dans s'engager bfe800c, 26 Oct 2016)Vous pouvez installer
libsecret
et le développement des bibliothèques avec:sudo apt-get install libsecret-1-0 libsecret-1-dev
Alors vous avez besoin pour construire le gestionnaire d'informations d'identification
cd /usr/share/doc/git/contrib/credential/libsecret
(copie de la informations d'identification/libsecret dossier de source, si elle n'est pas installée automatiquement)sudo make
Enfin, vous devriez point git dans le fichier nouvellement créé dans votre config:
git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
Comme l'a noté mati865 dans les commentaires:
** (process:774): CRITICAL **: secret_value_get_text: assertion 'value' failed'
et il me demande mon github mot de passe à nouveau...** (process:18000): CRITICAL **: could not connect to Secret Service: Cannot autolaunch D-Bus without X11 $DISPLAY
/usr/lib/git-core/git-credential-libsecret
et sur Fedora:/usr/libexec/git-core/git-credential-libsecret
.libsecret
répertoire danscontrib
:$ ls /usr/share/doc/git/contrib/credential
gnome-keyring netrc osxkeychain wincred
À l'aide de
sudo
exécute la commande en tant que root. C'est comme demander à votre administrateur de système, si vous en avez un, pour exécuter une commande pour vous. Leroot
utilisateur est pas destinée à faire quelque chose en matière de développement, et doncgit
est pas destiné à être utilisé en tant que root.Une fois que vous exécuter une commande en tant qu'autre utilisateur (root ou autre), il est prévu que cette autre utilisateur ne peut pas communiquer normalement avec votre habitude de l'utilisateur (en particulier, il ne trouve pas votre gnome-keyring-daemon ici).
Donc, la réponse est: "ne faites pas cela". Si vous avez vraiment besoin de cloner dans un répertoire particulier, de vous donner les autorisations sur le répertoire en tant que suggéré dans CodeWizard de réponse. En fait, si vous avez besoin de cloner dans un répertoire où vous n'avez pas la permission, demandez-vous si vous faites quelque chose de mal: en principe, cela ne devrait pas arriver (ma conjecture est: vous avez déjà utilisé
sudo
trop dans le passé et c'est la raison pour laquelle vous avez um-répertoires en écriture ici et là).