你怎么能在一个Ubuntu的使用Git的没有sudo在多个帐户?
我的Ubuntu有许多账户。 新账户的创建作出了Git的不通我没有sudo。
我改变了所有者是我,马嘶,并且该组将admin
其中马嘶属于。 我对Git的下列权限
800 -rwxrwxrwx 1 masi admin 813744 2009-02-20 23:01 /usr/bin/git
我在尝试使用的Git收到以下消息
git status
fatal: unable to create '.git/index.lock': Permission denied
我运行find . -iregex ".*index.l.*
find . -iregex ".*index.l.*
所以好像是在锁定系统中没有index.lock我运行相同的命令也使用sudo失败返回不匹配。
如果我没有理解你的问题,你需要授予一些* nix的用户帐户写访问相同的git仓库。 使用--share
的命令行参数git init
应该启用这个功能。 该GitWiki有几句说这个 。 这应该做的伎俩:
git --bare init --shared=all
如果你已经创建了你的资料库,您也许能够通过抛出此命令将其转换为一个“共享资源库”:
git repo-config core.sharedRepository true
在你的仓库,作为中提到一篇博客文章在moserei.de 。
2014更新:这仍然是可能的,但该命令从回购配置改为配置。
git config core.sharedRepository true
Git是指分布。 所以,每一个用户应该是具有他/她自己的独立的存储设备。 上述方法相矛盾这一方法。 除此之外,我怀疑的权限.git
目录。
我猜的所有权.git
目录都是问题。
你不应该使用一个源代码树从不同的用户 - 它很可能会导致出现问题。
该git
可执行文件不是问题。 它应该由root拥有,并有755个权限。 ( -rwxr-xr-x
)
换句话说,你可以使用git从多个帐户,但你不应该共享一个工作目录。
有任何可执行文件组的权限,使普通用户可以覆盖可执行文件是一个很大的安全隐患。 (尝试覆盖/usr/bin/git
与调用一个shell脚本rm -rf $HOME
)。
权限更改回为755,使混帐root拥有:再次根。 (Ubuntu的软件包管理器将无论如何重置下次升级的权限,除非您使用dpkg-statoverride(8)
我同意那些谁说,这未必是有多个用户共享一个git仓库是个好主意。 如果你仍然认为有必要,可以考虑设立一个新的小组, chgrp
拿着库和所有的文件,其中该组的目录andset上的目录setgid位。 (该--shared
参数git init
可能会为你做一些这方面了。)然后,所有的用户添加到应有提交权的组。
您可以使用验证会员
members groupname
然后,你可以设置权限级别的用户名:组名对,
change the ownership
sudo chown -v -R username:groupname sprout
chmod -R g+w .git/*