Отключить помощник по учетным данным osxkeychain в git, установленный Xcode

Мне нужно отключить помощник по учетным данным git для OS X: git-credential-osxkeychain

Я использую git, установленный с помощью Утилиты командной строки Xcode 4.6.2 в OS X Mountain Lion 10.8.3.

В этой установке поведение по умолчанию git pull или git push заключается в запоминании пароля, что освобождает пользователя от необходимости вводить его снова.

Хотя это удобно, в моей ситуации это угроза безопасности. Мне нужно отключить помощник по учетным данным, чтобы пароль требовался для каждого удаленного pull, push или fetch.

git, установленный с Xcode, похоже, не использует git config для установки этой функции. Вот мои настройки:


# git --version =>

git version 1.7.12.4 (Apple Git-37)

# git config --global --list =>

user.name=User Name
user.email=user@home
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=auto
color.ui=auto
alias.lol=log --pretty=oneline --abbrev-commit --graph --decorate
alias.co=checkout
alias.ci=commit
alias.st=status
alias.br=branch
alias.hist=log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short
alias.type=cat-file -t
alias.dump=cat-file -p
core.autocrlf=input
core.safecrlf=true
core.editor=/usr/bin/vim

# git config --local --list =>

core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
core.ignorecase=true
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.origin.url=https://[email protected]/YYYYYYYY/ZZZ.git
branch.master.remote=origin
branch.master.merge=refs/heads/master

# git config --system --list =>

fatal: unable to read config file '/usr/etc/gitconfig': No such file or directory

[Примечание: для моей установки нет файла конфигурации системы. ]


Я провел тщательный поиск в Stack Overflow и Google, но не смог найти решение для отключения помощника по учетным данным в этой установке.

Я подозреваю, что где-то в иерархии Xcode есть .plist или аналогичный файл конфигурации, у которого есть флаг для отключения, но я не смог найти упоминания о нем в git или Xcode. документы

Быстрым и грязным решением было бы chmod двоичный файл Applications/Xcode.app/Contents/Developer/usr/libexec/git-core/git-credential-osxkeychain, но это не очень элегантно и, вероятно, сломается при любых обновлениях Xcode.

Кто-нибудь из экспертов по Xcode знает, где Apple прячет флаг, чтобы отключить эту функцию git?


person GrowlTiger    schedule 27.04.2013    source источник
comment
Возможный дубликат disable git credential-osxkeychain   -  person rpstw    schedule 04.11.2018


Ответы (1)


Если основной проблемой в вашем вопросе является безопасность, и вы хотите каждый раз вводить пароль, то я бы использовал связку ключей, чтобы соответствовать вашей цели.

  1. зайдите в приложение связки ключей OSX,
  2. Найдите имя сервера, если вы используете https
  3. измените его настройки, нажав на него, и под вкладкой "управление доступом" отметьте "Запрашивать пароль связки ключей"
  4. При необходимости удалите приложение git-credential-osxkeychain из списка приложений, внесенных в белый список. (В моем случае мне пришлось сохранить на этом этапе, вернуться к настройкам и снова включить «запрашивать пароль связки ключей», который каким-то образом снова был отключен.)

Имейте в виду, что в Linux по умолчанию учетные данные также отправляются автоматически.

person hbogert    schedule 21.10.2014