建立repo服務器一(新建git用戶,建立git和gitolite管理權限)

參考文章:

http://blog.chinaunix.net/uid-15174104-id-3843570.html

http://blog.csdn.net/zk673820543/article/details/52535601

目標:

server:192.168.111.198,ubuntu-16.04

admin:192.168.111.199,windows7

client:192.168.111.200,ubuntu-12.04

 

1、服務器裝好ubuntu系統,我使用的是ubuntu-16.04-desktop-amd64.iso,

 

root@server: apt-get install git
root@server: apt-get install gitolite

root@server: sudo adduser git

2、作爲admin的win7電腦下生成管理員sshkey生成,參考文章:http://blog.csdn.net/lsyz0021/article/details/52064829

 

將生成的id_rsa.pub改名爲admin.pub,並上傳到server   :/tmp/admin.pub

3、在服務器新建的git用戶目錄下:

 

  1. ljaer@ubuntu:~$ sudo su git  
  2. git@ubuntu:/home/ljaer$ cd $HOME  
  3. git@ubuntu:~$ git clone http://github.com/sitaramc/gitolite  
  4. Cloning into 'gitolite'...  
  5. remote: Counting objects: 9300, done.  
  6. remote: Total 9300 (delta 0), reused 0 (delta 0), pack-reused 9300  
  7. Receiving objects: 100% (9300/9300), 2.92 MiB | 134.00 KiB/s, done.  
  8. Resolving deltas: 100% (5752/5752), done.  
  9. Checking connectivity... done. 
 
  1. git@ubuntu:~$ mkdir -p ${HOME}/bin  
  2. git@ubuntu:~$ ${HOME}/gitolite/install -to ${HOME}/bin  

 

 

  1. git@ubuntu:~$ ${HOME}/bin/gitolite setup -pk /tmp/admin.pub  
  2. Initialized empty Git repository in /home/git/repositories/gitolite-admin.  
  3. Initialized empty Git repository in /home/git/repositories/testing.git/  
  4. WARNING: /home/git/.ssh missing; creating a new one  
  5.     (this is normal on a brand new install)  
  6. WARNING: /home/git/.ssh/authorized_keys missing; creating a new one  
  7.     (this is normal on a brand new install)  

4、在win7機器上:

$ git clone [email protected]:gitolite-admin.git
Cloning into 'gitolite-admin'...
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 6 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (6/6), done.

 

$ cd gitolite-admin/
$ ls
conf/  keydir/

有兩個目錄, conf/和keydir/,其中conf/下面有個名爲gitolite.conf的配置文件。
conf/gitolite.conf 用於Git項目配置,訪問權限設置。
keydir/ 用於存儲用戶的SSH public key(公鑰)。

Git項目配置和訪問權限設置請看Gitolite的README.txt文檔。

 

至此,作爲管理員主機win7就可以管理git服務器的權限和用戶了,下面添加一個用戶client

 

將client的sshkey rsa.pub拷貝到當前keydir目錄下,

 

//將新用戶test1的公鑰複製到管理員端檢出庫gitolite-admin/keydir目錄
root@adminGit: git  add  keydir/test1.pub  //執行 git add 命令,將公鑰添加入版本庫
root@adminGit: git  status
root@adminGit: git  commit  -m  “add  user:  xxx”  //執行 git commit,完成提交
root@adminGit git  push   //執行 git push,同步到服務器,才真正完成新用戶的添加 

切換到root用戶,運行visudo命令

在打開的配置文件中,找到root ALL=(ALL) ALL,在下面添加一行

git ALL=(ALL) ALL 其中git是你要加入的用戶名稱

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章