日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

gitosis使用笔记

發布時間:2025/5/22 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 gitosis使用笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

gitosis是Git下的權限管理工具,通過一個特殊的倉庫(gitosis-admin.git)對Git權限進行管理。

1:服務端安裝并配置gitosis

(1)通過以下方式獲取到安裝包

root@wz:/home/git# git clone https://github.com/res0nat0r/gitosis

(2)使用python進行安裝

root@wz:/home/git# python gitosis/setup.py install

(3)將authorized_keys移除或重新命名為authorized_keys.bak,Gitosis 將為我們管理公鑰,后再重新添加公鑰,并且讓 Gitosis 自動控制authorized_keys文件。

root@wz:/home/git/.ssh# pwd /home/git/.ssh

(4)將之前的git用戶bash登陸設置修改過來

vim /etc/passwd

46 git:x:1002:1002:,,,:/home/git:/bin/bash

(5)初始化 Gitosis ,需要通過自己的公鑰來運行gitosis-init,首先將我本地的公鑰復制到服務端:

y@y:git$ scp /home/y/.ssh/id_rsa.pub wzh@192.168.0.143:tmp/ wzh@192.168.0.143's password: id_rsa.pub 100% 399 0.4KB/s 00:00 y@y:git$

服務端執行以下操作:注意不是在超級管理員用戶下的:

wzh@wz:/home/git$ sudo -H -u git gitosis-init < ~/tmp/id_rsa.pub

這樣該公鑰的擁有者就能修改包含著 Gitosis 設置的那個 Git 倉庫了。

此時目錄結構如下:

同時.ssh下面會生成一個:authorized_keys文件

由gitosis管理的倉庫放在:repositories/目錄下面

此時在repositories/目錄下面初始化一個空的倉庫:

2:客戶端操作gitosis

(1)現在可以試一下用初始化 Gitosis 公鑰的擁有者身份 SSH 進服務器:

說明 Gitosis 認出了該用戶的身份,但由于沒有運行任何 Git 命令所以它切斷了連接。

(2)克隆 Gitosis 的控制倉庫到本地:

注意:IP后面直接跟倉庫的名稱,無需路徑,gitosis-admin.git在服務端的repositories/目錄下面。

gitosis-admin目錄結構如下:

gitosis.conf文件是用來設置用戶、倉庫和權限的控制文件。

keydir 目錄則是保存所有具有訪問權限用戶公鑰的地方每人一個。

(3)修改?gitosis.conf配置文件并同步到服務端:其操作方式與普通的Git倉庫一致,

提交到服務端之后,查看服務端:

(4)如果是多人協助開發同用一個版本庫,則需要將他們每個人的公鑰文件添加到keydir文件夾然后push到服務端。

文件的命名將決定在gitosis.conf配置文件中的稱呼。

例如:參考《ProGit》

現在我們為 John,Josie 和 Jessica 添加公鑰:

$ cp /tmp/id_rsa.john.pub keydir/john.pub
$ cp /tmp/id_rsa.josie.pub keydir/josie.pub
$ cp /tmp/id_rsa.jessica.pub keydir/jessica.pub

然后把他們都加進 ‘mobile’ 團隊,讓他們對iphone_project具有讀寫權限:

[group mobile]
writable = iphone_project
members = scott john josie jessica

Gitosis 也具有簡單的訪問控制功能。如果想讓 John 只有讀權限,可以這樣做:

[group mobile]
writable = iphone_project
members = scott josie jessica
[group mobile_ro]
readonly = iphone_project
members = john

現在 John 可以克隆和獲取更新,但 Gitosis 不會允許他向項目推送任何內容。

?

轉載于:https://www.cnblogs.com/yshyee/p/4288465.html

總結

以上是生活随笔為你收集整理的gitosis使用笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。