Я пытаюсь установить сервер Git. Когда я устанавливаю оболочку по умолчанию для моего пользователя git на / usr / bin / git-shell, я получаю сообщение об ошибке при входе в систему как git.
fatal: Interactive git shell is not enabled.
hint: ~/git-shell-commands should exist and have read and execute access.
Доступ по ключу Ssh работает, права доступа установлены правильно.
Поиск Google не показывает ничего относительно этой ошибки.
Я также использовал этот метод в прошлых установках, и такая ошибка не отображалась. Также я посмотрел на работающий сервер, если у него есть дополнительные файлы или конфиг, но такого нет.
Системная спецификация:
- Gentoo Linux (последняя версия)
- Git 1.7.5.3
Строка / etc / passwd:
git:x:1002:1004::/home/git:/usr/bin/git-shell
git-shell
является ограниченной оболочки , которые будут использоваться для функциональности толчок / тянуть только (то естьgit push
,git fetch
иgit pull
). Он не должен быть интерактивным, поэтому не следует входить в интерактивную оболочку. Вы можете сделать его несколько интерактивным, добавивgit-shell-commands
каталог в домашний каталог пользователя и вставив в него несколько ссылок. Но он очень ограничен (например, здесь нет двоичного файлаcd
), поэтому лучшей альтернативой является вход в систему от имениroot
илиsudo
способного пользователя иsudo -u git -s
получение полнойbash
оболочки подgit
пользователем.Ответы:
Я нашел это после запуска
locate git-shell-commands
Поэтому я выполнил следующие команды от имени root:
Затем я смог запустить следующее как
git
пользователь:Сейчас я не вижу, что такое хорошая справка и список, но логин сработал. :)
источник
я просто должен был сделать,
# mkdir ~git/git-shell-commands
затемsu git
работал наgit 1.8.1.5-r1
источник
git-shell-commands
папки. Я думаю, что более полезно пропустить все это и сделатьsudo -u git -s
так, чтобы вы получили полнуюbash
оболочку с доступом ко всем двоичным файлам. Вы также остаетесь в текущем каталоге.Если вы посмотрите на код, который вызывает это сообщение об ошибке (которое в предыдущих версиях Git было другим ):
это должно быть правильным вопросом в каталоге git-shell.
источник
~/git-shell-commands
права доступа?