Назад | Перейти на главную страницу

Заменить пользователя gitolite3 на git

Я устанавливаю gitolite3 на сервер с помощью ssh и http pull / push / alltherest. В процессе создается пользователь и группа gitolite3.

Когда я бегу:

$ ssh gitolite3@server info

Я получаю правильное сообщение gitolite3 с информацией о RW репо.

Проблема в том, что мне нужен обычный пользовательский git вместо громоздкого gitolite3, не разбивая его на части. В другом потоке упоминалось о создании пользователя git с тем же uid ang gid, но это не дает тех же результатов, что и выше.

Когда я вхожу в систему (используя обычный графический экран входа в систему), есть мой обычный пользователь-администратор и каким-то образом имя пользователя gitolite3 (но я не уверен, что это gitolite3 или псевдоним пользователя git, который я создал).

Как мне создать пользователя git / заменить пользователя gitolite3, чтобы информация ssh git @ server работала с gitolite3? И что точно определяет, когда пользователь может войти в систему с помощью экрана входа в систему и как это отключить?

Если у вас еще нет пользователя git и вы в основном хотите переименовать пользователя gitolite3 по умолчанию, это может быть довольно просто. Попробуйте выполнить следующую команду от имени привилегированного пользователя.

usermod -l git gitolite3

Это должно переименовать пользователя gitolite3 в git. Это должно позволить командам ssh работать так, как вы хотели.

ssh git@hostname info

Если это новая среда, я бы просто создал нового пользователя git как обычно, а затем запустил настройку gitolite для этого пользователя (и забыл о пользователе gitolite3).

Если вы действительно хотите сохранить текущую конфигурацию / репозитории gitolite / и т. Д. вы, вероятно, можете просто скопировать все соответствующие файлы этому пользователю, как только вы закончите (и убедитесь, что информация о владельце обновлена), и он может просто работать (проверьте документы gitolite при перемещении репозиториев на новый компьютер, если в нем перечислены какие-либо дополнительные подводные камни об этом процессе).

Добавьте другого пользователя с тем же uid, gid и домашним каталогом.

Вы написали, что видели это предложение, «но это не дает тех же результатов, что и выше». Я не знаю, с какими проблемами вы столкнулись. Возможно, вы пропустили установку того же домашнего каталога. В противном случае я не знаю, потому что я так делаю, и он отлично работает.

Я использую rpm, который создает и использует пользователя gitolite3. Я не хочу связываться с rpm, но все же не использую это длинное имя пользователя в командах, поэтому я продублировал строку о gitolite3 в / etc / hosts и использовал git в качестве имени пользователя в дополнительной строке.

Ваша проблема в том, что вы не хотите вводить имя, а не имя как таковое. Тогда не делайте этого:

Ставить

ssg () {

    ssh gitolite3@server $@
}

или

alias ssg="ssh gitolite3@server $@"

в ваш .bashrc, введите его снова, и после этого вы можете просто сказать ssg info. Конечно, вы можете использовать все, что хотите, и не сталкиваться с нужной вам командой вместо ssg.

Для этого есть две причины: во-первых, он даже короче, чем ssh git@server info и, во-вторых, мне не нравится изменять такие имена по умолчанию, поскольку вы не можете быть уверены, что в системе нет жестко закодированной зависимости от этого имени, если это не задокументировано или как изменить имя по умолчанию.

То, где настроены допустимые пользователи для входа в систему с графическим интерфейсом, зависит от вашего дистрибутива, среды рабочего стола и диспетчера дисплея.