Je cherchais un moyen de stocker les informations d'identification en toute sécurité lors de la connexion à notre serveur Git qui utilise SSL. Je suis tombé sur cette suggestion de @ james-ward (la seule modification que j’ai faite est d’avoir mis à jour notre configuration "système" au lieu de notre configuration "globale" pour 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 alors courir
git clone https://ipaddress/git/repo.git
et l'assistant d'identification stockera mes informations d'identification, cependant, lorsque j'exécute ce qui suit:
Sudo git clone https://ipaddress/git/repo.git testfolder
ça me donne l'erreur suivante
** (process:3713): CRITICAL **: Error communicating with gnome-keyring-daemon
J'ai parfois besoin de lancer Sudo git clone car parfois le répertoire dans lequel je dois créer un clone le requiert. Toute aide serait appréciée.
Les versions que j'utilise: - version git 1.9.1 - Ubuntu Server 14.0.4
Merci d'avance! - Richard O.
J'ai parfois besoin de lancer Sudo git clone car parfois le répertoire dans lequel je dois créer un clone le requiert. Toute aide serait appréciée
Le dossier dans lequel vous essayez de cloner le référentiel a été créé par la racine. Par conséquent, vous n’avez pas le droit d’écrire ou de créer un dossier, sauf si vous êtes root (Sudo
), définissez les autorisations (chmod
ou chown
) et vous pourrez cloner dans le dossier.
chmod 755 /path
Outre l'utilisation de Sudo, notez qu'en 2016, libgnome-keyring
est spécifique à GNOME et est maintenant obsolète (depuis janvier 2014, en fait } _).
Git 2.11+ (T4 2016) inclura un nouvel assistant d'identification utilisant libsecret
.
Voir commit 87d1353 _ (9 octobre 2016) de Mantas Mikulėnas (grawity
) .
(Fusionnée par Junio C Hamano - gitster
- à commit bfe800c , 26 oct 2016)
Un nouvel assistant d'identification qui parle via "libsecret" avec les implémentations de l'API XDG Secret Service a été ajouté à
contrib/credential/
.il utilise
libsecret
qui peut supporter d’autres implémentations de XDG Secret API de service.
Vous pouvez installer libsecret
et les bibliothèques de développement avec:
Sudo apt-get install libsecret-1-0 libsecret-1-dev
Ensuite, vous devez créer le gestionnaire des informations d'identification
cd /usr/share/doc/git/contrib/credential/libsecret
(copiez le dossier credential/libsecret de source , s'il n'est pas installé automatiquement)
Sudo make
Enfin, vous devriez pointer git vers le fichier nouvellement créé dans votre configuration:
git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
Comme noté par mati865 _ dans les commentaires :
Il convient de noter que certaines distributions comme Arch et Fedora fournissent des aides disponibles sous forme binaire ou source.
- Libsecret binary sur Arch:
/usr/lib/git-core/git-credential-libsecret
, et- Fichier binaire Libsecret sur Fedora:
/usr/libexec/git-core/git-credential-libsecret
.
L'utilisation de Sudo
exécute la commande en tant que root. C'est comme demander à votre administrateur système, si vous en avez un, d'exécuter une commande pour vous. L'utilisateur root
est non destiné à faire quelque chose lié au développement, et donc git
est non destiné à être utilisé en tant que racine.
Une fois que vous avez exécuté une commande en tant qu’autre utilisateur (racine ou autre), il est probable que cet autre utilisateur ne puisse pas communiquer normalement avec votre utilisateur habituel (en particulier, il ne trouve pas votre gnome-keyring-daemon ici).
Donc, la réponse est: "ne fais pas ça". Si vous avez vraiment besoin de cloner dans un répertoire particulier, accordez-vous des autorisations sur ce répertoire, comme suggéré dans la réponse de CodeWizard. 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 (je suppose que vous avez déjà trop utilisé Sudo
dans le passé et c’est la raison pour laquelle vous avez des répertoires en écriture um ici et là).