标签: gitolite

在没有LDAP身份验证的情况下使用Gitosis验证Gitweb?

我发现你的文章使用Apache Auth和gitweg gitweb.

我想知道如果我没有使用LDAP进行身份验证,是否有办法做到这一点.我们目前有一个非常大的NIS域,我们用它来在所有unix服务器上进行身份验证.我们通过UI将其用于SVN存储库,但对于这种情况,我试图满足以下要求:

  • Git存储库
  • 访问控制 - 使用Gitolite
  • 在线用户界面 - 使用Gitweb
  • UI还必须具有访问控制 - 尚未实现

我首先想到的是我需要让Gitweb和Gitolite一起玩,每个人现在都可以单独工作.

如果gitolite使用SSH密钥提供访问权限,那么它可以通过为用户/开发人员访问Gitweb/gitolite的每台机器提供密钥来提供访问权限.

或者,如果我可以让gitweb简单地从NIS域验证用户,因为每个用户都有一个我们的IT部门设置的帐户,这样会更好.

我可以使用任何想法或howtos来进一步了解这个要求?

nis http-authentication gitosis gitweb gitolite

5
推荐指数
1
解决办法
3247
查看次数

gitolite包不会创建用户

我用了安装gitolite

apt-get install gitolite
Run Code Online (Sandbox Code Playgroud)

根据本教程(和许多其他人),应该有一个gitolite用户,但当我这样做

su - gitolite
Run Code Online (Sandbox Code Playgroud)

我得到了未知的身份:gitolite

我需要手动创建吗?我必须补充一点,这是我第二次尝试安装gitolite,所以我先删除它然后重新安装它.也许有一些东西没有删除?

linux git ubuntu gitolite

5
推荐指数
1
解决办法
876
查看次数

如何版本git和gitolite钩子?

是否有可能很好地版本和跟踪git钩子?我可以在服务器上的hook文件夹下安全地拥有另一个(嵌套的)git存储库吗?

linux git version-control gitolite githooks

5
推荐指数
1
解决办法
101
查看次数

gitolite:可以通过ssh连接,不能克隆

我使用本教程在服务器上安装了gitolite .这属于"非根"方法.

当我尝试将gitolite-admin克隆回我的客户端时,它失败了.我收到此错误消息:

git clone gitolite@server.com:gitolite-admin
Cloning into gitolite-admin...
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

也:

git clone ssh://gitolite@server.com:gitolite-admin
Cloning into gitolite0admin...
Using username "git-upload-pack 'gitolite".
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

我也尝试追加.git到repo名称的末尾,并且我也尝试添加repositories/gitolite-admin(由上面链接的教程中的错误建议)以及这两者的组合并且都没有工作.我在谷歌上找不到关于"使用用户名"位的结果,这引起了我的兴趣.

我可以通过SSH连接到本机,它告诉我,我有机会与R和W gitolite-admin.那么,SSH正在运作?

git ssh gitolite

5
推荐指数
1
解决办法
1万
查看次数

如何在gitolite中配置迁移的git存储库

我有gitolite和当前创建的测试存储库和配置的用户权限,一切正常.

我现在想要的是使用git cvsimport将cvs存储库迁移到git.我有新迁移的存储库.我如何通过gitolite配置此存储库并为此存储库配置用户?

请指导我正确的方向!!

git gitolite

5
推荐指数
1
解决办法
4314
查看次数

gitlist无法获取存储库列表之外的任何内容

我正在尝试在CentOS Linux上设置gitlist(如果重要的话,请使用gitolite - 我放宽了对gitolite管理的repo目录的权限).

我从今天开始从gitlist.org中提取了0.3版tarball.

我的config.ini看起来像这样:

client = '/usr/bin/git' ; Your git executable path
repositories = '/home/gitolite/repositories/' ; Path to your repositories

[app]
debug = true    
; I don't know if baseurl is still needed..seems like my results are the same either way
baseurl = 'http://sub.example.com.com/gitlist' ; Base URL of the application
Run Code Online (Sandbox Code Playgroud)

httpd.conf中的虚拟主机指令:

<VirtualHost *:80>
  DocumentRoot /var/www/html
  ServerName sub.example.com
  <Directory "/var/www/html">
    AllowOverride All
    Options -Indexes
  </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

htaccess的:

<IfModule mod_rewrite.c>
  Options -MultiViews

  RewriteEngine On
  RewriteBase /var/www/html/gitlist/

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule …
Run Code Online (Sandbox Code Playgroud)

git gitolite

5
推荐指数
1
解决办法
5939
查看次数

我怎样才能让所有人都拥有阅读权限

在我的gitolite.conf中,我可以设置

repo    COOL_REPOSITORY
        RW+     =   me
        R       =   @all
Run Code Online (Sandbox Code Playgroud)

这给了我写权限,所有其他注册用户都对我的存储库具有读权限。现在我的问题是,我可以将所有人的ssh-key存储在我的keydir中,而不是授予我已注册的所有用户读权限吗?

git gitolite

5
推荐指数
1
解决办法
3585
查看次数

安装 gitolite 时,我得到“/tmp/id_rsa.pub 似乎不是有效的 ssh pubkey 文件”

我正在尝试在 CentOS linux 服务器中为我们的开发安装 git 和 gitolite。到目前为止,一切都运行正常,除了我使用以下命令为 gitolite 定义管理员用户的步骤:

gitolite setup -pk /tmp/id_rsa.pub
FATAL: errors found but logfile could not be created
FATAL: /home/git/.gitolite/logs/gitolite-2013-05.log: No such file or directory
FATAL: die      '/tmp/id_rsa.pub' does not seem to be a valid ssh pubkey file
Run Code Online (Sandbox Code Playgroud)

看起来像两个错误;在/home/git/这里只有这些文件

.gitolite.rc
.bashrc
.bash_profile
.bash_logout
Run Code Online (Sandbox Code Playgroud)

其次(这似乎是问题所在)是 pub_key 无效。但是,根据 git book 文件看起来很相似。我是这样生成的:

  1. 在我的电脑(不是服务器)上安装 git

  2. 从 git bash:

ssh-keygen.exe
(默认路径)
(没有密码)
(没有密码)

我通过名为 WinSCP 的程序将生成的 .pub 文件复制到服务器上的 tmp 目录。

我做错了什么?我在谷歌中找不到答案。

附注。如果您需要更多信息,请告诉我。

git gitolite

5
推荐指数
1
解决办法
2736
查看次数

使用git签出文件时如何找出导致文件权限更改的原因?

将文件推送到我们的服务器后,将执行以下 post-receive 挂钩:

#!/bin/sh
export GIT_WORK_TREE=/home/user/www/
git checkout -f
Run Code Online (Sandbox Code Playgroud)

但是,文件在结帐时获得了非常奇怪的600权限和文件夹700。这不是我所期望的(在我们的其他服务器上,我们得到644755)。从这个线程我了解到 git 没有设置权限,所以 git 不应该受到责备。我的问题是:什么是?我怎样才能弄清楚这个问题的原因是什么?

我已经通过在结帐时运行额外的脚本来修复权限来暂时解决它,但我有兴趣解决根本原因。

我正在使用 gitolite 来管理存储库,但我怀疑这是原因。但同样,我很高兴知道我可以从哪里开始,因为此时我不确定如何调查。

根据最初的答案,我查看了服务器上的 umask 设置。该git用户(这是用来上传文件的用户),umask设置为0002。这在下面的练习证实:

git@server:~$ umask
0002
git@server:~$ touch newfile
git@server:~$ ls -la newfile
-rw-rw-r-- 1 git git 0 Aug  5 10:46 newfile
Run Code Online (Sandbox Code Playgroud)

额外细节:

  • 服务器端和开发端都使用Linux
  • 在本地 repo 中,权限为 755 和 644
  • filemode 在 .git/config 中设置为 true

git permissions gitolite

5
推荐指数
1
解决办法
442
查看次数

有没有办法诊断为什么git init --bare不会创建特定的目录?

我正试图在我的LEDE-Project路由器上运行Gitolite.我已按照此处提供的说明将令人满意的依赖项安装到我的路由器上.我的路由器报告Git版本2.11.0,我正在运行它的计算机.可以在这里找到 GIT on LEDE-Project和OpenWRT的包,因为他们正在共享这些回购.

当我以Gitolite方式创建一个新的存储库时,我收到类似于此的错误消息:

2017-03-06.03:11:23 28046 die/symlink /root/.gitolite/hooks/common/update to gitolite-admin.git/hooks <> at/root/gitolite/src/lib/Gitolite/Conf/Store .pm第368行.<>

经过一夜好眠,我最终将这个原因归结为这个特定的邮件列表帖子,这表明它git init --bare没有生成正确的目录.

在空目录中尝试"git init --bare"并告诉我你是否看到.git/hooks目录.

假设你没有,你将不得不以某种方式解决这个问题.Gitolite期望'git init --bare'来创建一个hooks目录.

似乎是一个合理的假设.我的机器做得很好.

git init --bare foo
Initialized empty Git repository in /home/makoto/workspace/foo/foo/
cd ~/foo
ls -la
drwxrwxr-x 7 makoto makoto 4096 Mar  6 13:15 .
drwxrwxr-x 3 makoto makoto 4096 Mar  6 13:15 ..
drwxrwxr-x 2 makoto makoto 4096 Mar  6 13:15 branches
-rw-rw-r-- 1 makoto makoto   66 Mar  6 13:15 …
Run Code Online (Sandbox Code Playgroud)

git gitolite

5
推荐指数
1
解决办法
318
查看次数