Lorsque je fais certaines opérations git, telles que 'git diff
' ou 'git add .
', cet avertissement s'affiche:
unable to access '/Users/dida/.config/git/attributes': Permission denied
Je me demande quelle configuration j'ai mal fait et comment puis-je résoudre ce problème?
C’est mieux avec certaines commandes, j’utilise la ligne de commande mac
Vous semblez avoir exécuté Sudo -H
et Sudo a changé la propriété de certains fichiers en root
. Reprendre les fichiers:
Sudo chown -R dida /Users/dida
Cause
Git lit les paramètres de configuration à partir d’une variété de chemins et n’a pas accès à certains d’entre eux.
Git essaie de lire le paramètre de configuration racine au lieu des paramètres de configuration en raison du script de démarrage utilisant la commande su avec l'option ne pas réinitialiser les variables d'environnement (-m):
/bin/su -m $USER -c "cd $BASE/logs && $BASE/bin/startup.sh &> /dev/null"
Bitbucket Server est démarré en tant que root avec le script de démarrage /etc/init.d/atlbitbucket. Comme le script init.d appelle start-bitbucket.sh, qui utilise su -m, les variables d’environnement de la racine sont préservées et atlbitbucket n’est pas autorisé à écrire dans le répertoire de base.
Git a été compilé à partir des sources en utilisant les paramètres par défaut, ce qui empêche tout utilisateur autre que celui qui l'a compilé de l'exécuter.
Résolution
Corrigez les autorisations sur les fichiers et les répertoires en ce qui concerne l'utilisateur Bitbucket Server exécutant la commande:
chown <USER>.<GROUP> -R /home/<USER>/.config
chown <USER>.<GROUP> -R /home/<USER>/.gitconfig
(info) Modifiez USER.GROUP par votre nom d'utilisateur et votre groupe dans votre système d'exploitation.
Si le script de démarrage de Bitbucket Server comporte une commande su, assurez-vous que l'option -m n'est pas utilisée.
Si Bitbucket Server est en cours de démarrage avec /etc/init.d/atlbitbucket start, activez le démarrage de Bitbucket Servering avec le service atlbitbucket start
Pour que Bitbucket Server démarre automatiquement au démarrage, exécutez chkconfig atlbitbucket le
Recompiler Git en utilisant des valeurs par défaut plus sensibles:
make prefix=/usr/local/git all
make prefix=/usr/local/git install
ou peut-être que ces articles pourraient vous aider https://confluence.atlassian.com/bitbucketserverkb/permission-denied-on-git-config-file-779171763.html
git utilise les paramètres d'environnement HOME
et XDG_CONFIG_HOME
pour rechercher les fichiers de configuration.
Assurez-vous qu'ils sont correctement définis pour votre utilisateur actuel (vérifiez le résultat de la commande id
)
id -a
Vérifiez également git config -l --show-Origin
pour voir où Git tente d'accéder à ces fichiers de configuration.
essayez Sudo -u utilisateur --set-home git clone http://github.com/repohere Cela a fonctionné pour moi.