Оболочка мерзавца, не включенная?

Подключите свой ящик для пробной монеты к маршрутизатору Verizon затем переключатель к ящику для пробной монеты и серверы к переключателю. Вам не нужны 3 600 маршрутизаторов, поскольку Verizon уже предоставляет Вам маршрутизатор.
Поместите ящик для пробной монеты в прозрачный режим.

Вы не получите лучшей производительности при соединении больше чем 1 кабеля между маршрутизаторами и переключателем, если доступ в Интернет не> 100 мегабит и агрегирование поддержки маршрутизатора Verizon интерфейса Ethernet. Короткий ответ является использованием номера ящик для пробной монеты при необходимости в высокой безопасности для домашней сети только с 1 общедоступным IP Вам, вероятно, не нужен он, если Вы не хотите отфильтровать транспортный Интернет продолжения.

24
задан 29 June 2011 в 17:43
5 ответов

Если Вы смотрите на код, который инициировал то сообщение об ошибке (который, кажется, отличался в более старых версиях Мерзавца):

if (access(COMMAND_DIR, R_OK | X_OK) == -1) {
  die("Interactive git shell is not enabled.\n"
     "hint: ~/" COMMAND_DIR " should exist "
     "and have read and execute access."); 

это должно быть правильной проблемой о каталоге оболочки мерзавца.

Пользователь, должно быть, прочитал и выполняет полномочия к каталогу для выполнения программ в нем.

3
ответ дан 28 November 2019 в 20:18

Я обнаружил это после запуска locate git-shell-commands

cat /usr/share/doc/git-1.7.4.4/contrib/git-shell-commands/README

Примеры программ, вызываемые через git-shell. Поместите каталог с именем 'git-shell-commands' в домашнем каталоге пользователя, оболочка которого git-shell. Тогда любой, кто войдет в систему как этот пользователь, сможет запустить исполняемые файлы в каталоге 'git-shell-commands'.

Предоставляемые команды:

help: выводит имена доступных команд. При запуске в интерактивном режиме git-shell автоматически запускает справку при запуске, при условии, что он существует.

list: отображает любой пустой репозиторий, имя которого заканчивается на ".git" в домашний каталог пользователя. Никаких других репозиториев git не видно, хотя они могут быть клонированы через git-shell. 'список' разработан чтобы свести к минимуму количество вызовов git, которые необходимо сделать при поиске доступные репозитории; если в вашей установке есть дополнительные репозитории, должен быть доступен для обнаружения пользователем, вы можете изменить "список" соответственно.

Итак, я выполнил следующие команды от имени пользователя root:

cp /usr/share/doc/git-1.7.4.4/contrib/git-shell-commands /home/git -R
chown git:developers /home/git/git-shell-commands/ -R
chmod +x /home/git/git-shell-commands/help
chmod +x /home/git/git-shell-commands/list
exit

Затем я смог запустить следующие команды как пользователь git :

[me@svn ~]$ su git
Password:
Run 'help' for help, or 'exit' to leave.  Available commands:
list
git> help
Run 'help' for help, or 'exit' to leave.  Available commands:
list
git> list
git> exit

Теперь я не вижу, какие полезные подсказки и список есть, но логин работал. :)

16
ответ дан 28 November 2019 в 20:18

мне просто нужно было сделать # mkdir ~ git / git-shell-commands , затем su git сработало для git 1.8.1.5-r1

5
ответ дан 28 November 2019 в 20:18

Примените эти две команды, чтобы решить эту проблему:

Чтобы включить git-shell для your_git_user:

usermod -s / usr / bin / git-shell your_git_user

Чтобы изменить владельца каталога your_git_user рекурсивно:

chown -R your_git_user: your_users_group / home / your_git_user

Вы можете добавить команды оболочки git, используя следующую команду:

cp /usr/share/doc/git-1.8.3.1/contrib/git-shell-commands / / home / your_git_user / git-shell-commands -R

0
ответ дан 7 April 2020 в 13:38

Я опаздываю на вечеринку, но, как указано в документации git, все, что вам нужно сделать, это выполнить следующую команду на удаленном хосте:

chsh -s $(command -v git-shell) <user>

Работал на меня.

1
ответ дан 27 April 2021 в 20:40

Теги

Похожие вопросы