10

I am installing gitolite3 on a server, with ssh and http pulling/pushing/alltherest. During the process, a user and group gitolite3 is created.

When I run:

$ ssh gitolite3@server info

I get the correct gitolite3 message with RW repo information.

Trouble is, I want the usual user git instead of the cumbersome gitolite3, without breaking it all apart. Some other thread mentioned creating the user git with the same uid ang gid, but this does not give the same results as above.

When I login (using the conventional graphical login screen), there is my usual administrator user, and somehow the gitolite3 username (but Im not sure if this is the gitolite3 or the git user alias that i created).

How do I create the git user/replace the gitolite3 user so that ssh git@server info works with gitolite3? And what determines exactly when a user can login using the login screen, and how do turn that off?

5 Answers5

6

If you don't already have a git user and basically want to rename the default gitolite3 user it may be fairly easy. Try running the following command as a privileged user.

usermod -l git gitolite3

This should rename the gitolite3 user to git. Which should allow the ssh commands to work as you wanted.

ssh git@hostname info
Lanzaa
  • 61
3

The other answer that mentions to create another user with same UID and GID is correct, however it does not provide the command. Here you go:

useradd --home-dir /var/lib/gitolite3 --gid gitolite3 --no-create-home --shell /bin/bash --uid $(id -u gitolite3) --no-user-group --non-unique git

This will give you the benefits of using the distro package manager and also the possibility to use 'git' as SSH user, with no downsides.

Deim0s
  • 182
1

Add another user with the same uid, gid and homedirectory.

You wrote that you had seen that suggested, "but this does not give the same results as above". I don't know what problems you have encountered. Maybe you missed setting the same home directory. Otherwise I don't know, because this is how I do, and it works fine.

I use an rpm which creates and uses a user gitolite3. I don't want to mess with the rpm, but still not use that long username in commands, so I have duplicated the line about gitolite3 in /etc/hosts, and use git as username in the extra line.

pst
  • 131
0

Your problem is you don't want to type the name, not the name as such. Then don't:

Put

ssg () {

    ssh gitolite3@server $@
}

or

alias ssg="ssh gitolite3@server $@"

into your .bashrc, source it again and after that you can just say ssg info. Of course, you can use whatever you want and doesn't collide with a command you need instead of ssg.

There are two reasons to do it this way: First, it's even shorter than ssh git@server info and second, I dont' like to change these kind of default names as you can't be sure there isn't any hardcoded dependency on this name in the system, unless it's documented there isn't or how to change the default.

Where the valid users for GUI login are configured is dependent on your distribution, desktop environment and display manager.

Sven
  • 100,763
0

If this is a new environment I would just create the new git user like normal and then run through the gitolite setup for that user (and forget the gitolite3 user).

If you really want to keep the current gitolite configuration/repositories/etc. you can probably just copy all the relevant files to that user once you are done (and make sure the ownership information is updated) and it might Just Work (check the gitolite docs on moving the repos to a new machine in case it lists any extra gotchas about this process).

Etan Reisner
  • 1,383