Hi, On Wed, Feb 18, 2009 at 2:24 PM, Johannes Schindelin <Johannes.Schindelin@xxxxxx> wrote: > Hi, > > On Wed, 18 Feb 2009, Bosko Ivanisevic wrote: > >> In the company I'm working someone has restricted access to all users >> to only use cvs via cvssh.pl script (source at the end of message) >> taken from gforge. This script is set as a shell for all users. Now I >> would like to change it so I can run git too. I've tried by adding >> 'git', 'git-upload-pack', 'git-receive-pack' and 'git-shell' in the >> array @allowed_commands. After that if I try to clone existing >> repository with: >> >> git clone ssh://testuser@server_name/tmp/test.git >> >> I get following error: >> >> fatal: ''/tmp/test.git'': unable to chdir or not a git archive >> fatal: The remote end hung up unexpectedly >> >> I first thought that testuser doesn't have permissions to read >> directory /tmp/test.git so I changed mode and gave r+w permissions >> recursively on that folder, but result was same. > > r+w? Not a+rwx? > > And only on /tmp/test.git/, or also on /tmp/? > > A better way would be to use 'sudo -u testuser git ls-remote > /tmp/test.git' if sudo is available (you haven't revealed useful > information about the host). > Thanks for your reply. Here are more data. System is SuSe 10.3. On the test server which has same setup but I can change shell when I change testuser's shell to /bin/bash I can regularly clone git repository from remote machine, so all permissions are set correctly. Besides, output of: git ls-remote ssh://testuser@server_name:/tmp/test.git is: 3446c5347e0563cb87e1d8951c57b7f36996f44b HEAD 3446c5347e0563cb87e1d8951c57b7f36996f44b refs/heads/master That leads me to conclusion that perl's exec command makes some mess which prevents git of running correctly. >> There is no way I can avoid this perl script (company policy) but I >> can change it. Problem is that I do not know Perl so much and I do not >> know what git is exactly doing behind the scene when it is run via >> ssh. > > I'd use 'system("some shell >&2");' to try to debug it. > I didn't understand this part. If I change exec @cmd; command from perl script to: system("/bin/bash >&2); git clone just hangs on the client side. I guess I did something wrong but don't know what. Regards, Bosko -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html