Windows2008R2下安裝gitosis伺服器(基於cygwin)
公司最近買了新的伺服器,由於git的大趨勢,公司決定將原來的tfs程式碼管理改為git,而且tfs只限於studio,其他的開發環境基本不適用,所以就最近研究了下git和git的許可權管理。
看了《Git 權威指南》這本書,上面說了Git下許可權管理有兩個比較好的軟體Gitosis和Gitolite,其中Gitolite是基於Gitosis開發的,功能更加強大。由於是剛剛入門,所以選擇了一個功能較少的開始學習,下面是一些安裝和配置的經驗,分享給大家,大體上步奏分為以下幾步:
(1)安裝cygwin和相關軟體。
(2)配置ssh服務。
(3)生成公鑰和私鑰。
(3)安裝gitosis。
(4)使用gitosis。
下面具體說明。
1, 首先是安裝cygwin,在這裡可以下載cygwin的最新版本,基於作業系統的型別選擇x86還是x64進行安裝。
2,雙擊安裝,出現如下頁面,單擊下一步安裝。
3, 選擇Install from Internet,單擊下一步。
4, 選擇安裝路徑,這裡我們選擇D:\cygwin,然後選擇All User。
5,選擇package的儲存目錄,這裡我們選擇D:\Tools\cygwin\package。
6,選擇網路的連線方式,這裡我們選擇Direct Connection。
7,選擇映象下載地址,選擇不同的會有不同的速度,這裡我們選擇了http://mirros.163.com
8, 選擇需要下載的軟體。這裡我們要安裝3個軟體:git、openssh和python。在Search對話方塊中輸入對應的名字就可以找到。
(1)git是在Devel目錄下。
(2)openssh在Net目錄下。
(3)python在python目錄下。
9,等待軟體下載,安裝完成。
10,安裝ssh。以管理員執行cygwin的終端,首先修改/etc/passwd和/etc/group的檔案許可權,輸入:
chmod +r/etc/passwd
chmodu+w /etc/passwd
chmod +r/etc/group
chmodu+w /etc/gourp
11,輸入ssh-host-config進行sshd服務安裝。
在Should privilege separation be used? (yes/no),輸入yes。
在new local account 'sshd'? (yes/no),輸入yes,如果裝了360等防毒軟體會提示風險,這裡我們選擇允許。
在(Say "no" if it is already installedas a service) (yes/no) ,輸入yes。
在Enter the value of CYGWIN for the daemon: [] ,輸入ntsec tty。
在Do you want to use a different name? (yes/no),輸入no。
在Create new privileged user account'cyg_server'? (yes/no),輸入yes,在下面彈出的地方輸入密碼,由於我們使用的是Windows2008所以密碼需要由大小寫字母和數字組成。
如果出現*** Info: Host configuration finished. Havefun!字樣表示安裝成功了。
12,以管理員執行cmd,然後輸入net start sshd,開啟ssh服務。
13,配置ssh。ssh可以使用公鑰和私鑰認證,也可以通過密碼進行登入。由於使用密碼登入容易被攻擊者暴力破解,所以我們這裡管理禁用密碼登入和root使用者登入。如果使用密碼登陸,在客戶端輸入:ssh [email protected],在輸入密碼就能夠登入,如圖。
14,用你喜歡的方式修改/etc/sshd_config檔案,進行配置。
修改埠:
將Port 22改為Port 22386(後面這個port的值隨你定)
修改禁用密碼和root登入(注意去掉了前面的#號):
#PermitRootLoginyes 改為 PermitRootLogin no
#ChallengeResponseAuthenticationyes 改為 ChallengeResponseAuthenticationno
#PasswordAuthenticationyes 改為 PasswordAuthentication no
#UsePAMno 改為 UsePAM yes
15,修改完成後,重啟sshd服務才能生效,現在發現就不能用密碼遠端登入。PS:如果有防火牆,記得開啟埠的上下行。
16,安裝python工具包,我們這裡安裝的是python2.7,所以要下載對應的工具包。百度搜索setuptools-0.6c11-py2.7.egg,下載工具包,將工具包拷貝到/home/Administrator下。
17,輸入chmod 755 /lib/python2.7/ -R修改讀寫許可權。
18,輸入./setuptools-0.6c11-py2.7.egg安裝工具包。當出現Finished processing dependenciesfor setuptools==0.6c11字樣表示安裝成功。
19,安裝gitosis。在/home/Administrator下新建一個sources目錄,進入sources目錄,然後輸入git clonehttps://github.com/res0nat0r/gitosis.git,進行克隆。
20,進入gitosis目錄,輸入python setup.py install進行安裝。出現Finished processing dependenciesfor gitosis==0.2字樣表示安裝成功。
21,在“控制面板”中新建一個git使用者,標準使用者,密碼自定義。
22,將git使用者新增到cygwin的passwd中,輸入mkpasswd -l -u git >> /etc/passwd,檢視/etc/passwd下git使用者是否新增上了,輸入vi /etc/passwd。
23,,新建一對公鑰和私鑰,輸入ssh-keygen –C “[email protected]” –t rsa,注意這個公鑰和私鑰一定要在cygwin中新建,不然會造成無法匹配,比如說使用windows下的Git Bash下輸入上面同樣的命令,再將公鑰放入公鑰匹配庫,就無法進行匹配。
24,將/home/Administrator/.ssh下的id_rsa.pub(公鑰)拷貝到/tmp目錄下,並輸入:
chmod 755 /tmp/id_rsa.pub
進行讀寫許可權的修改。
25,關閉cygwin終端,shift+右鍵點選cygwin桌面快捷方式“以其他使用者身份執行”。
26,在該終端下輸入:
gitosis-init < /tmp/id_rsa.pub
進行gitosis的安裝,如果出現如圖字樣,表示安裝成功。
27,gitosis的使用和配置。這裡客戶端採用的是windows8的64位系統,安裝了git。
28,將預先生成的私鑰檔案id_rsa檔案拷貝,C:\Users\Administrator\.ssh\目錄下。
29,啟動Git Bash,在你喜歡的位置輸入:
git clone ssh://[email protected]:22386/gitosis-admin.git
這樣我們就可以將gitosis的許可權管理倉庫克隆島本地,進行修改。
30,在gitosis-admin目錄下,有一個gitosis.conf檔案,開啟進行編輯,新增如下語句:
[group test]
writable = test
然後儲存。
31,在Git Bash下輸入:
git add .
git commit –m “just for test”
git push
出現以下字樣表示提交成功。
32,在你喜歡的位置新建一個test目錄,在裡面新建一個test .txt。然後輸入:
git init
git add .
git remote add originssh://[email protected]:22386/test.git
git commit –m “just for test”
git push origin master
成功會出現以下字樣。
33,現在我們可以再伺服器上的D:\cygwin64\home\git\repositories目錄下看到一個test.git。
34,刪除[group test]下members行,這樣我們就不能push到遠端伺服器了,至此達到了管理git倉庫使用者的目的。
參考文獻:
《Git權威指南》-蔣鑫
相關推薦
Windows2008R2下安裝gitosis伺服器(基於cygwin)
公司最近買了新的伺服器,由於git的大趨勢,公司決定將原來的tfs程式碼管理改為git,而且tfs只限於studio,其他的開發環境基本不適用,所以就最近研究了下git和git的許可權管理。 看了《Git 權威指南》這本書,上面說了Git下許可權管理有兩個比較好的軟體Gi
物理機在windows 7 下安裝redhat 7(雙系統)
物理機在windows 7 下安裝redhat 7(雙系統)linux 物理機掛載 真實機掛載 紅帽7 老唐 安裝之前,我們先把紅帽7的鏡像文件刻入U盤,用於後面在物理機上安裝linux。刻入工具我們用UltraISO 這個軟件。UltraISO 軟件大家可以在百度下載!!!打開軟件選擇 紅帽7
Mac OS X下安裝Vue腳手架(vue-cli)
前言 Vue作為前端三大框架(Angular,React,Vue)之一,號稱是最簡單,最容易上手的框架,同時也是行內的大趨勢,還可以用來開發最火的小程式。具有開發快,雙向資料流等特點,有些人認為Vue是Angular和React的結合,既有Angular的模板語法也有React的元件化體系,以至於促使其發展
linux centos6.8 安裝svn伺服器(yum方式)
1.檢視yum是否安裝 在終端中輸入yum即可如果已經安裝,會顯示yum的引數 如果沒有安裝,會提示yum未安裝或無效命令…… 2.安裝svn yu
內網搭建一個yum源伺服器(基於httpd)
環境 httpserver 192.168.182.143 客戶端使用者 192.168.182.144 1,首先我們安裝 httpd 用到epel源或者163的源或者阿里雲的源做好本地的 yum -y install httpd* httpd-devel 2,安裝完成測試 serv
Linux下搭建FTP伺服器(Ubuntu16.04)
搞了下FTP伺服器,基本上能遇到的問題都遇到了-。-! 先說步驟: 1.安裝vsftpd軟體包 sudo apt-get install vsftpd 2.開啟配置檔案 vim /etc/vsftpd.conf 3.修改引數 一些引數可以去掉註釋啟用,為了方便,
Linux環境下搭建Apache伺服器(完整版)
Linux下搭建Apache伺服器(完整版) 什麼是Apache? Apache Licence是著名的非盈利開源組織Apache採用的協議。該協議和BSD類似,同樣鼓勵程式碼共享和尊重原作者的著作權,同樣允許程式碼修改,再發布(作為開源或商業軟體)。需要
linux環境下安裝ngnix步驟(很詳細)
安裝準備開始前,請確認gcc g++開發類庫是否裝好,預設已經安裝。ububtu平臺編譯環境可以使用以下指令apt-get install build-essentialapt-get install libtoolcentos平臺編譯環境使用如下指令 安裝make:yum
VMWare下安裝Linux系統(詳細版)
建立虛擬機器 新建一個虛擬機器 典型型別配置 安裝客戶機作業系統 4.選擇Linux作業系統,版本選擇centos6就可以了 5.虛擬機器存放位置,建議新建一個資料夾專門放虛擬機器檔案 6.磁碟容量,預設即可 7.完成虛擬機器建立 8.設定
Ubuntu下安裝tensorflow-gpu(1.7)
一、系統環境 作業系統:Ubuntu(16.04) 顯示卡 :NVIDIA GeForce GTX 1080ti 二、CUDA安裝 1、下載CUDA Toolkit 9.0 2、安裝CUDA 1)執行: sudo sh cuda_9
Windows下安裝ScureCRT步驟(親測)
今天進到公司實習,第一次接觸到ScureCRT這個軟體,在瞭解了之後開始安裝,廢了很大功夫,總結具體步驟如下: 首先下載註冊器keygen.exe和ScureCRT的安裝檔案scrt814-x64.exe: 點選執行scrt814-x64.exe,傻瓜安裝法一
VMware Workstation下安裝VMware Tools(Ubuntu系統)
VMware版本:VMware Workstation 10Ubuntu版本:VM-Ubuntu-12.04-64bit-zlg(這個是ZLG官方在VM-Ubuntu-12.04上改的)主機系統:WIN 10安裝步驟如下:1.開啟虛擬機器後,右鍵單擊下圖中箭頭指向的位置,在彈
如何在Linux—ubuntu16.04版本下安裝JAVA環境(jdk&eclipse)
說在前面:隨著Linux作業系統的不斷完善,在很多情況下,程式設計師的選擇也不僅僅侷限於windows系列作業系統,Linux的操作更加快捷便利,很平常的一個apache Web伺服器的部署可能windows要花很長時間,而ubuntu提供的apt-get
windows下安裝rabbitMQ教程(實戰書寫)
圖示如下: 下載完後,開始執行安裝。很簡單。預設就可以了。一直下一步到最後。(下面這個圖借別人的哈哈) 第二步: 下載安裝rabbitMQ 安裝效果如下: 安裝完畢後是這樣: 然後。重點來了,網路上好多過(胡)時(說)的(八)文(道)章。就
Windows下安裝Kali Linux (雙系統)
相信很多朋友使用的電腦都是單系統的,因為單系統在安裝和使用方面都是比較方便,還有就是硬碟的空間比較小且沒有什麼很大的使用性質,因為同是Windows 系統,單系統和雙系統有什麼區別呢?但是,因為有了雙系統的存在,讓 Windows 和 Linux 之間共存與一臺
win7下安裝MySQL_5.7(壓縮版)教程
1 下載MySQL 官網 https://dev.mysql.com/downloads/mysql/ mysql分為安裝版本(.mis)和免安裝版本(.zip),選擇下載Windows (x86, 64-bit), ZIP Archive,根據自身電腦選擇32or63位
Ubuntu 14.04下搭建SVN伺服器(SVN Server)
為了學習SVN伺服器是怎麼搭建的,我在Ubuntu虛擬機器上搭建了一個SVN伺服器,可以作為專案開發的版本,記錄下來防止自己遺忘,同時可以幫助更多的人。 一:搭建環境 檢視Ubuntu系統的版本資訊:可用cat /proc/version命令、uname -a命令與s
deepin(linux)環境下安裝mysql資料庫(新手入門)
環境:deepin15.5 1.開啟終端,輸入命令:sudo apt-get update 更新軟體列表 2.輸入命令:sudo apt-get install mysql-server 安裝MySQL資料庫程式 中間會彈出設定root使用者密碼的輸入框,輸
LINUX之samba伺服器的安裝與配置(基於redhat 6.3發行版)
linux系統之間或者linux系統和windows系統之間難免會有共享檔案的時候,實現共享的方法有很多,這裡簡單介紹一下通過samba伺服器實現linux系統與windows系統之間的檔案共享的方法。 我是windows下通過虛擬機器安裝的linux系統,redhat 6.3發行版。實現sa
Ubuntu下PyTorch 安裝 (基於conda)
最近準備學習一下PyTorch,裝的時候也是各種坑坑,記錄一下過程以供查閱。 1、安裝conda命令(anaconda) Anaconda指的是一個開源的Python發行版本,其包含了Conda、Python以及一大堆安裝好的工具包,比如:numpy、panda