我试图在Centos6.4上安装gitolite3。 它的工作原理,我可以ssh和,经过一些麻烦,我也可以通过http和httpd读取,如克隆。 我正在重新启用selinux进入宽容模式,为了更好的testing,我早先禁用了,以下错误出现在/etc/log/audit/audit.log中。 我承认,我是selinux的新手,尽pipe我非常热衷,并开始认真学习selinux的工作方式,但这个解释太多了。 有没有人可以从这些消息中扣除哪些命令我必须运行,我必须以某种方式允许在线安全的最佳做法的权限? ..如果您知道并发布了一些令人惊叹的在线selinux指南,并附上selinux的安全图表,那么我的答案也会很有用。 type=AVC msg=audit(1375647504.484:680): avc: denied { search } for pid=12882 comm="gitolite-shell" name="gitolite3" dev=sdb2 ino=264170 scontext=system_u:system_r:httpd_sys_script_t:s0 tcontext=system_u:object_r:gitosis_var_lib_t:s0 tclass=dir type=AVC msg=audit(1375647504.484:680): avc: denied { getattr } for pid=12882 comm="gitolite-shell" path="/var/lib/gitolite3/.gitolite.rc" dev=sdb2 ino=262551 scontext=system_u:system_r:httpd_sys_script_t:s0 tcontext=unconfined_u:object_r:gitosis_var_lib_t:s0 tclass=file type=SYSCALL msg=audit(1375647504.484:680): arch=c000003e syscall=4 success=yes exit=0 a0=6d4d70 a1=6ab130 a2=6ab130 a3=18 items=0 ppid=4653 pid=12882 auid=4294967295 uid=650 gid=650 euid=650 […]
这个问题是Robert的问题的一个近似重复,但尝试chmod 600 ~/.ssh/config我仍然有相同的错误。 我试过用cygwin和MINGW32来做chmod 600 。 ls -la在cygwin上返回-rw——- ,并在MINGW32上返回-rw-r–r– MINGW32 。 通过这些结果, cygwin说,它具有适当的权限,因此不应该抱怨,当我的ssh hostname ,但是当cygwin和MINGW32试图ssh时抱怨。 这与我在gitosis中遇到的问题类似,在这篇文章中 ,我需要将ssh.exe文件从cygwin切换到git (MINGW32),这实际上确实解决了当时的问题。 但是,由于MINGW32没有正确地进行MINGW32 ,因此这个修复似乎不再有效。 有任何想法吗?
我有一个名为“git”的专用系统帐户,由gitlab / gitolitepipe理。 连接到这个帐户的用户总是使用SSH密钥,“git”用户没有密码。 如果用户没有使用SSH密钥或错误configuration的密钥连接,他们会被要求input密码而感到困惑。 我正在寻找一种方式来设置服务器,以便在这种情况下,它不要求input密码,而是显示某种用户友好的信息(“您的密钥丢失或无效”等)并断开连接。 这是可能的,无论是在sshdconfiguration,或以其他方式(PAM也许)? 请注意,我不问如何设置公/私密密码连接。 只是如何防止服务器要求一个特定用户的密码。 (据我所知,这样的设置揭示了一个潜在的攻击者在系统中存在用户“git”,但由于“git”没有密码,攻击者可以很容易地确定它的存在,我认为这只是一个低风险。
我在服务器上安装gitolite3,用ssh和http拉/推/ alltherest。 在此过程中,创build了一个用户和组gitolite3。 当我运行: $ ssh gitolite3@server info 我用RW repo信息得到正确的gitolite3消息。 麻烦的是,我想要通常的用户git,而不是繁琐的gitolite3,没有把它分开。 其他一些线程提到创build用户git与相同的uid ang gid,但是这不会给出与上面相同的结果。 当我login(使用传统的graphicslogin屏幕),有我通常的pipe理员用户,并以某种方式gitolite3用户名(但我不知道这是否是我创build的gitolite3或git用户别名)。 我如何创buildgit用户/replacegitolite3用户,以便ssh git @ server info与gitolite3一起使用? 什么决定了什么时候用户可以login使用login屏幕,以及如何closures?
在我们公司,我们有一个庞大的代码库(> 100000个文件),所以我们把它保存在几个git仓库中。 所以我们有一个仓库的森林和一个只包含子模块引用的超级仓库。 这个想法是把超级仓库当成一个便利的粘合剂,并在开发人员更新任何子模块时自动更新。 我已经试验了接收后的钩子,结束了以下实现: (它涉及到git plumbing,以便能够直接修改裸仓库) #!/bin/bash -e UPDATED_BRANCHES="^(master|develop)$" UPDATED_REPOS="^submodules/.+$" # determine what branch gets modified read REV_OLD REV_NEW FULL_REF BRANCH=${FULL_REF##refs/heads/} if [[ "${BRANCH}" =~ ${UPDATED_BRANCHES} ]] && [[ "${GL_REPO}" =~ ${UPDATED_REPOS} ]]; then # determine the name of the branch in the super repository SUPERBRANCH=$FULL_REF SUBMODULE_NAME=${GL_REPO##submodules/} # clean the submodule repo related environment […]
我一直在跟着这个教程 ,我被卡住了 sudo apt-get install gitolite 与错误 Couldn't find package gitolite 我已经search了一段时间了,没有其他人似乎有这个问题,所以这可能是一个微不足道的问题…我不知道这是否在/etc/apt/sources.list行是我需要添加,或者如果该软件包不适用于Ubuntu 10.04。 如何解决无法find包的事实?
我对LDAP是什么以及它是如何工作的知之甚less,除了知道我可以使用我的LDAP帐户用户名/密码login到多个linux服务器。 现在我们正在使用mercurial进行版本控制,但是我正在研究如何转换为git。 现在我的第一个问题,我很确定我知道答案,但只是想validation(我认为答案是肯定的),但由于git可以使用ssh连接到存储库,只要LDAP帐户有权访问服务器git存储库托pipe,我可以假设LDAP帐户将像一个普通的SSH帐户,并连接到git存储库工作,正确的? 第二个问题我不太确定,如果LDAP可以挂钩gitolite,那么我可以获得gitolite提供的访问控制function。 为了得到gitolite提供的访问控制,我个人很喜欢抓取LDAPauthentication,尽pipe我不确定我的老板是谁。
我在使用Gitolite设置IP限制时遇到了麻烦。 这可能是简单的,这是我第一次使用它(我终于从Gitosis切换,因为它不能做我所需要的) 基本上我的客户网站都有一个git回购。 我推到回购,后接收钩推到她的现场或开发取决于我推到哪里。 无论如何,事情是一个客户想要访问她的网站上的文件,我没有问题,但是因为她可以在〜/ .ssh中访问她的SSH密钥,所以她会直接访问我不想从Web服务器之外允许的回购。 这是我的configuration的相关部分: repo example.com R VREF/FROM/127.0.0.1 = user 这将工作,除了Gitolite生成一个坏的authorized_keys文件: command="/usr/share/gitolite/gl-auth-command user",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ,from="127.0.0.1" ssh-rsa… 问题在于no-pty之后的空间。 删除空间,它工作正常。 保持空间和关键被忽略。 任何想法如何正确地设置这将不胜感激! 我真的不希望每当我改变一些东西时,在authorized_keys文件上运行sed,除非没有别的办法… 谢谢!
我正在研究需要给其他人写访问权限的工具。 我知道git仓库是通过一个locking命令(如gitosis或gitolite)使用SSH访问的。 我了解到,与Subversion不同,它不支持任何历史更改操作,它具有某些可以实际销毁数据的操作,例如git push –force 。 是否有更多这样的操作需要拒绝给远程用户?
我想起床并运行gitolite的说明在这个http://sitaramc.github.com/gitolite/qi.html说,但是当我运行命令: [git@devserver gitolite]$ src/gitolite install -ln FATAL: errors found before logfile could be created FATAL: die unknown gitolite sub-command 我得到上面的错误,我做错了什么? 我创build的git用户为: useradd -d /data/gitrepos git 然后cd到/ data / gitrepos并使用以下命令克隆gitolite repo: git clone git://github.com/sitaramc/gitolite 有什么build议? 欢呼声和感谢提前