À l'aide de Git sans Sudo dans de nombreux comptes
Comment pouvez-vous utiliser Git sans Sudo plusieurs comptes dans un seul Ubuntu?
Mon Ubuntu a beaucoup de comptes.
La création de nouveaux comptes a fait Git inaccessibles par moi-même sans sudo.
J'ai changé le propriétaire pour moi, masi, et le groupe admin
où la masi appartient.
J'ai les autorisations suivantes pour Git
800 -rwxrwxrwx 1 masi admin 813744 2009-02-20 23:01 /usr/bin/git
Je reçois le message suivant en essayant d'utiliser Git
git status
fatal: unable to create '.git/index.lock': Permission denied
- Je exécuter find . -iregex ".*index.l.*
qui ne donne aucun résultat il semble donc y avoir aucun indice.verrouillage le verrouillage du système. - Je exécuter la même commande avec sudo sans succès.
"La création de nouveaux comptes a fait Git inaccessibles par moi-même sans sudo." Vous devriez prendre cela comme un signe que quelque chose est incorrect avec votre compte, la configuration de votre système, ou votre installation. C'est extrêmement comportement anormal -- git est un normal de l'application utilisateur, accessible par tous les utilisateurs ordinaires dans des conditions normales d'Ubuntu installer.
Pour référence, les autorisations correctes/propriété /usr/bin/git* sont 755 / root.racine, comme indiqué dans hillu de réponse. Vous pourriez avoir accidentellement définir les autorisations de sorte que seuls les membres du groupe ou le propriétaire peut exécuter git (ie. les autorisations sont 744 aka -rwxr--r-- plutôt que de 755). À défaut de corriger ces autorisations représente un risque grave pour la sécurité de votre système.
Pour référence, les autorisations correctes/propriété /usr/bin/git* sont 755 / root.racine, comme indiqué dans hillu de réponse. Vous pourriez avoir accidentellement définir les autorisations de sorte que seuls les membres du groupe ou le propriétaire peut exécuter git (ie. les autorisations sont 744 aka -rwxr--r-- plutôt que de 755). À défaut de corriger ces autorisations représente un risque grave pour la sécurité de votre système.
OriginalL'auteur hhh | 2009-09-02
Vous devez vous connecter pour publier un commentaire.
Si je comprends votre question correctement, vous devez accorder plusieurs *nix comptes d'utilisateurs l'accès en écriture pour le même dépôt git. À l'aide de la
--share
argument de ligne de commande pourgit init
devrait permettre cela. Le GitWiki a quelques mots à dire à ce sujet. Ceci devrait faire l'affaire:Si vous avez déjà créé votre dépôt, vous pourriez être en mesure de le convertir à un "référentiel commun" en lançant cette commande:
dans votre référentiel, comme mentionné dans un billet de blog à moserei.de.
2014 mise à jour:
C'est toujours possible, mais la commande a changé à partir de pensions de configuration config.
La folie: je trouve que le deuxième exemple de code dans ma réponse devrait résoudre cela. Havn pas vraiment essayé moi-même.
Schou-Rode: doh! désolé, j'aurais dû payer plus d'attention!
OriginalL'auteur Jørn Schou-Rode
Git est destiné à être distribué. Ainsi, chaque utilisateur doit avoir un référentiel distinct de son/sa propre. La méthode ci-dessus contredit cette méthodologie. En dehors de cela, je soupçonne les autorisations de l'
.git
répertoire.OriginalL'auteur Alan Haggai Alavi
Je suppose que la propriété de la
.git
répertoire sont le problème.Vous ne devriez pas utiliser une arborescence source de différents utilisateurs - qu'il est susceptible de conduire à des problèmes.
La
git
exécutable n'est pas la question. Il doit être possédé par la racine, et ont 755 autorisations. (-rwxr-xr-x
)En d'autres termes, vous pouvez utiliser git à partir de plusieurs comptes, mais vous ne devriez pas partager un même répertoire de travail.
OriginalL'auteur Douglas Leeder
Avoir les autorisations de n'importe quel exécutable réglé de sorte qu'un utilisateur normal peut remplacer l'exécutable est un grand risque pour la sécurité. (Essayez d'écraser
/usr/bin/git
avec un script shell qui appellerm -rf $HOME
.)Modifier les autorisations de retour à 755 et faire git appartenir à root:root. (Ubuntu gestionnaire de packages de se réinitialiser les autorisations sur la prochaine mise à jour, de toute façon, sauf si vous avez utilisé
dpkg-statoverride(8)
)Je suis d'accord avec ceux qui disent qu'il ne peut pas être une bonne idée d'avoir plusieurs utilisateurs de partager un dépôt git. Si vous pensez toujours que c'est nécessaire, envisager la création d'un nouveau groupe,
chgrp
le répertoire contenant le référentiel et tous les fichiers qu'il contient à ce groupe andset le bit setgid sur les répertoires. (Le--shared
paramètregit init
peut faire certaines de ces pour vous, trop.) Ensuite, ajouter tous les utilisateurs du groupe qui doit pouvoir commettre des droits de l'.OriginalL'auteur hillu
Vous pouvez vérifier les membres à l'aide de
Ensuite, vous pouvez définir le niveau d'autorisation de l'utilisateur:groupname paire,
OriginalL'auteur Won Jun Bae