Ubuntu Gitosis安裝設定

2021-08-27 12:46:50 字數 2822 閱讀 1917

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目錄下

cp ~/.ssh/id_rsa_admin.pub  /tmp

sudo -h -u git gitosis-init < /tmp/id_rsa_admin.pub

執行該命令就會在~/repositories目錄下生成gitosis-admin.git,修改該目錄下的檔案許可權

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目錄下。

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

gitosis.conf檔案格式:

[group gitosis-admin] //組名

members = wenyang@sz00ubt //組內成員

writable = gitosis-admin //組內成員具有寫許可權的倉庫

readonly = helloworld//組內成員具有讀許可權的倉庫

vim gitosis.conf # 會看到下述, 不要動他, 於最下方設定自己的 group / 專案名稱即可.

[group gitosis-admin]

writable = gitosis-admin

members = [email protected]

增加下述, myteam 是 group name, 此 group 有 user1, user2 的使用者, 可以寫入 project_name.git 的專案

[group myteam]

writable = project_name

member = user1 user2

提交修改到git伺服器

git commit -m 'add user1, user2 write access to project_name' -a

git push

使用git在指定目錄建立乙個git庫,該git庫的名字必須事先在gitosis.conf檔案中配置了對應許可權。

[group test]

members = wenyang@szubt03

writable = example

建立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目錄要...