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
時間をかけて研究してくださった皆さんに感謝します。本当にありがとうございました。