Re: Gforge's cvssh.pl script and git

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux