gitosis就是一套用來管理
authorized_keys
檔案和實現簡單連線限制的指令碼。用來新增使用者和設定許可權的並非通過網頁程式,而只是管理乙個特殊的
git倉庫。你只需要在這個特殊倉庫內做好相應的設定,然後推送到伺服器上,
gitosis
就會隨之改變執行策略。
sudo apt-get install openssh-server
sudo apt-get install python-setuptools
cd /tmp
git clone
cd gitosis
sudo python setup.py install
在管理員機器上執行:
ssh-keygen -t [rsa|dsa]
將會生成金鑰檔案和私鑰檔案 id_rsa_admin,id_rsa_admin.pub,將生成的管理員機器的公鑰id_rsa.pub上傳到git伺服器
scp -rid_rsa_admin.pub user.name@ip:~/.ssh
將id_rsa_admin.pub拷貝到/tmp目錄下
執行該命令就會在~/repositories目錄下生成gitosis-admin.git,修改該目錄下的檔案許可權cp ~/.ssh/id_rsa_admin.pub /tmp
sudo -h -u git gitosis-init < /tmp/id_rsa_admin.pub
sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
在管理員機器上轉殖上面在git伺服器上建立的gitosis-admin.git庫,由於前面建立gitosis-admin.git庫時使用的是管理員機器的公鑰,因此在轉殖時只要加入對應的私鑰就可以了。
git clone git@server_ip:/gitosis-admin.git
在當前路徑下生成gitosis-admin,該目錄下包含gitosis.conf、keydir。
gitosis.conf檔案是用來設定使用者、倉庫和許可權的控制檔案。keydir目錄則是儲存所有具有訪問許可權使用者公鑰的地方,各個使用者按照前面提到的辦法生成各自的ssh公鑰檔案後,伺服器管理員把所有人的ssh公鑰檔案都拿來,拷貝到keydir目錄下。
gitosis.conf檔案格式:cp /tmp/id_rsa_user1.pub keydir/user1.pub # 請依照實際帳號命名, 不要取 user1, user2
cp /tmp/id_rsa_user2.pub keydir/user2.pub
git add keydir/user1.pub keydir/user2.pub
git commit -m 'add user1, user2 public key'
git push
[group gitosis-admin] //組名
members = wenyang@sz00ubt //組內成員
writable = gitosis-admin //組內成員具有寫許可權的倉庫
readonly = helloworld//組內成員具有讀許可權的倉庫
vim gitosis.conf # 會看到下述, 不要動他, 於最下方設定自己的 group / 專案名稱即可.
增加下述, myteam 是 group name, 此 group 有 user1, user2 的使用者, 可以寫入 project_name.git 的專案[group gitosis-admin]
writable = gitosis-admin
members = admin@example.com
[group myteam]
writable = project_name
member = user1 user2
提交修改到git伺服器
使用git在指定目錄建立乙個git庫,該git庫的名字必須事先在gitosis.conf檔案中配置了對應許可權。git commit -m 'add user1, user2 write access to project_name' -a
git push
建立example工程庫:[group test]
members = wenyang@szubt03
writable = example
mkdir example
cd example
git init
touch hello.txt
git add hello.txt
git commit -am 'first commit'
git remote add origin git@server_ip:example.git 【管理員必須在gitosis.conf中配置了】
git push origin master
git clone git@server_ip:example.git
安裝Docker(yum安裝)
確定你是centos7及以上版本 root 192 desktop cat etc redhat release centos linux release 7.2.1511 core 3.yum安裝gcc相關 yum y install gcc yum y install gcc c 4.解除安裝舊...
安裝 python python安裝
pyenv 多版本管理工具 1.linux安裝pyenv方式 git 安裝 1 安裝git yum install git y 2 安裝python編譯依賴 yum y install gcc make patch gdbm devel openssl devel sqlite devel read...
mysql安裝(安裝包安裝)
2 使用命令列 cmd 進入mysql的bin目錄下,初始化資料庫,執行mysqld initialize console console 表示在控制台輸出,不新增則不展示下面那些資訊 最後一行root localhost 後的hd ed4j s 就是臨時密碼,登入時會使用 注意 1 data目錄要...