Деактивирайте помощника за идентификационни данни на osxkeychain в git, както е инсталиран от Xcode

Трябва да деактивирам помощника за идентификационни данни на git за OS X: git-credential-osxkeychain

Използвам git, както е инсталиран от Xcode Command Line Utilities 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, но не можах да намеря решение за деактивиране на помощника за идентификационни данни в тази инсталация.

Подозирам, че има .plist или подобен конфигурационен файл някъде в йерархията на Xcode, който има флаг за деактивиране, но не можах да намеря споменаване за него в 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