我正在为我的客户端从CentOS软件包中安装gitolite 。 该软件包创build一个gitolite用户,在“git clone”操作过程中显式地显示这个用户。 客户希望使用“git”而不是“gitolite”,以防万一我们稍后变成更奇特的东西。 我对CentOS并不是很熟悉,所以我不想尝试从源代码自己构build这个包。 我想知道是否有办法做到以下一种:
yum update操作 我会欣赏详细的指示或指针。
要为gitolite添加一个'aliased'用户git,你可以做类似于下面的事情
[ec2-user@ip-10-170-94-162 ~]$ sudo useradd -m foo [ec2-user@ip-10-170-94-162 ~]$ getent passwd foo foo:x:500:502::/home/foo:/bin/bash [ec2-user@ip-10-170-94-162 ~]$ sudo useradd -o -d/home/foo -u500 -g502 -s/bin/bash -M foo2 [ec2-user@ip-10-170-94-162 ~]$ getent passwd foo2 foo2:x:500:502::/home/foo:/bin/bash
-o允许重复的uid, -d设置主目录, -u设置uid, -g设置gid, -s设置shell, -M表示不创build主目录。 不过,我不确定你会怎么样。
你可以在客户端尝试一下,编辑users〜/ .ssh / config文件并在此基础上添加一些行
Host yourservername.com user gitolite
就这样,刚刚git克隆为
git clone yourservername.com:path/to/git/repo.git
在将来用户名的改变只需要在用户机器的本地〜/ .ssh / config文件中改变
尝试#2。
使用与“gitolite”相同的UID,主目录等创build一个“git”用户。 不是我最喜欢的事情,但它应该工作。
我之前在Ubuntu上做过这样的工作,但它有效,但是有多个帐户共享一个UID,对我来说总是显得有点“</s>”。
要做#1,你可以尝试在〜/ .ssh / config文件中设置一个部分。
像这样的东西:
host servername user gitolite hostname server.example.com port 22
然后你可以做下面的事情,而不必弄乱用户名。
git push servername
这都假设你使用OpenSSH作为你的SSH客户端。
我最近安装了GitoLite,并尝试了包装方法。 说实话很乱。
我的第二个尝试是创build一个标准的用户,然后按照非根方法指令手动安装。 更简单,更容易。 我也想要“Git”用户名,并使用它。
所以,我的build议,删除RPM安装,并按照非根方法。 🙂
( https://github.com/sitaramc/gitolite/blob/pu/doc/1-INSTALL.mkd的说明,但如果你已经克隆了回购你已经)
如果您在sshd中使用基于密钥的身份validation,则可以在authorized_keys文件中添加一个强制命令以sudo作为目标用户。
在sudoers中添加NOPASSWD来停止双重提示。
需要sudo和木偶控制的git用户。
当你使用“root”安装方法时,你应该能够以root用户的身份运行gl-system-install,然后以任何用户(实际上任意数量的用户)的身份运行gl-setup,都是gitolite“托pipe用户”。
我无法想象RPM会带走或以某种方式禁用固有function。
所以我的答案是:不要打扰UID等。只需安装RPM,添加用户的'git',su – git,然后gl-setup yourname.pub。 应该这样做。