CentOS(6.4) 시스템에서 설정을 시도했습니다 git-shell
(Ubuntu 13.10에서 제대로 작동한 후 크로스 플랫폼이 엉망이 될 수 있습니까?).
내 /etc/passwd
쇼
git:x:500:500:Web Archive VCS:/home/git:/usr/bin/git-shell
내 쉘 명령은/home/git/git-shell-commands
[root@domain git]# cd /home/git/git-shell-commands/ && tree
.
├── addkey
├── create
├── drop
├── help
└── list
하지만 ssh'ing은 여전히 나에게
Last login: Fri Nov 15 12:14:49 2013 from localhost
fatal: What do you think I am? A shell?
Connection to localhost closed.
이 리소스를 사용하고 있습니다.
git-shell을 사용하여 관리자 친화적인 git 서버 호스팅
약간의 혼란이 있습니다. 이는 허용되는 GIT 명령(푸시/풀 등)이지만 사전 설정된 명령이 있는 제한된 쉘입니다! 이 글을 읽으시는 분들은 참고해주세요 ;)
단계를 보려면 설치 프로그램 스크립트
https://github.com/ehime/bash-tools/blob/master/git-server-setup.sh
주말 동안에도 여전히 알 수 없었습니다. 추가했습니다.
# add to shells
echo '/usr/bin/git-shell' >> /etc/shells
# Prevent full login for security reasons
chsh -s /usr/bin/git-shell git
GIT Shell이 존재하는지 다시 확인하십시오./usr/bin
[root@domain bin]# ll /usr/bin | grep git
-rwxr-xr-x. 105 root root 1138056 Mar 4 2013 git
-rwxr-xr-x. 1 root root 1138056 Mar 4 2013 git-receive-pack
-rwxr-xr-x. 1 root root 457272 Mar 4 2013 git-shell
-rwxr-xr-x. 1 root root 1138056 Mar 4 2013 git-upload-archive
-rwxr-xr-x. 1 root root 467536 Mar 4 2013 git-upload-pack
이것이 제가 다루고 있는 루트 계정입니다. 이것이 그것과 관련이 있을 수 있습니까?
답변1
이 기능은 git 1.7.4에서 도입된 것으로 나타났습니다.
git --version
기본 CentOS 6.4 설치로 1.7.1이 제공되었고 여기서 문제가 시작되었습니다 =/
이 문제가 발생하면 Git 버전을 확인하세요. 여기 당신을 돕기 위해 제가 작성한 업데이터 스크립트가 있습니다.
#!/bin/bash
# Git updater for RHEL systems
# CPR : Jd Daniel :: Ehime-ken
# MOD : 2013-11-18 @ 09:28:49
# REF : http://goo.gl/ditKWu
# VER : Version 1.1
# ROOT check
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as su" 1>&2 ; exit 1
fi
yum install -y perl-ExtUtils-MakeMaker gettext-devel expat-devel curl-devel zlib-devel openssl-devel
cd /usr/local/src
git clone git://git.kernel.org/pub/scm/git/git.git && cd git
make && make prefix=/usr install
git --version
exit 0
시간을 내어 연구해 주신 모든 분들께 감사드립니다. 정말 감사드립니다.