git通過gitosis來管理許可權(三)
首先,git伺服器的安裝參見
這篇文章的一小節。
開始安裝gitosis
一、首先安裝python工具:
apt-get install python-setuptools
二、獲取並安裝gitosis:
進入/tmp目錄(將要安裝的gitosis檔案克隆到該目錄)
cd /tmp
安裝gitosis:git clone https://github.com/tv42/gitosis.git
cd gitosis
sudo python setup.py install
三、建立一個使用者git:
adduser git
四、將該user新增到root組裡(如果登入該使用者可以執行sudo的話,可以省略該步驟)
執行:visudo
找到:
root ALL=(ALL:ALL) ALL
在下面新增一行:
git ALL=(ALL:ALL) ALL
五、新增git使用者為倉庫管理員:
su git cd ~ mkdir .ssh cd .ssh ssh-keygen -t rsa cp /home/git/.ssh/id_rsa.pub /tmp sudo -H -u git gitosis-init < /tmp/id_rsa.pub
在上面一個步驟如果報類似以下的錯誤:
Traceback (most recent call last):
File "/usr/local/bin/gitosis-init", line 9, in <module>
load_entry_point('gitosis==0.2', 'console_scripts', 'gitosis-init')()
File "/usr/local/lib/python2.7/dist-packages/gitosis-0.2-py2.7.egg/gitosis/app.py", line 24, in run
return app.main()
File "/usr/local/lib/python2.7/dist-packages/gitosis-0.2-py2.7.egg/gitosis/app.py", line 38, in main
self.handle_args(parser, cfg, options, args)
File "/usr/local/lib/python2.7/dist-packages/gitosis-0.2-py2.7.egg/gitosis/init.py", line 123, in
handle_args
user = ssh_extract_user(pubkey)
File "/usr/local/lib/python2.7/dist-packages/gitosis-0.2-py2.7.egg/gitosis/init.py", line 39, in
ssh_extract_user
raise InsecureSSHKeyUsername(repr(user))
gitosis.init.InsecureSSHKeyUsername: Username contains not allowed characters: ' [email protected]'
重啟系統,重新生成祕鑰對來解決。參見文章:
http://blog.csdn.net/lyhdream/article/details/49619805
啟動Gitosis之後,會自動初始化gitosis-admin.git庫檔案
此時去/home/git/repositories下可以看到gitosis-admin.git庫檔案。
許可權控制在gitosis.conf,公鑰SSH Key檔案放在/home/git/repositories/gitosis-admin.git/gitosis-export/keydir下,以後所有的客戶端使用者的公鑰都放在這個檔案下。
這樣,當有新開發者加入專案的時候,將它生成的公鑰放到/home/git/repositories/gitosis-admin.git/gitosis-export/keydir目錄下,就擁有正常的程式碼推送許可權了。
將git使用者的公鑰放到/home/git/repositories/gitosis-admin.git/gitosis-export/keydir目錄下:
cp /home/git/.ssh/id_rsa.pub /home/git/repositories/gitosis-admin.git/gitosis-export/keydir
到此,gitosis配置完成
相關推薦
git通過gitosis來管理許可權(三)
首先,git伺服器的安裝參見 這篇文章的一小節。 開始安裝gitosis 一、首先安裝python工具: apt-get install python-setuptools 二、獲取並安裝gitosis: 進入/tmp目錄(將要安裝的gitosis檔案克隆到該目錄)cd
git的版本管理使用(三)-拉取分支程式碼
git系列文章 參考文章 *之前2篇是在github上操作的git版本管理,這篇是在開源中國·碼雲 上面的git版本管理。使用下來都差不多,暫時沒有發現不一樣的內容。 關於分支內程式碼的拉取的問題: 問題詳述:看下圖,我們一般都是
springBoot+springSecurity 動態管理Restful風格許可權(三)
2 連結2:為一個REST服務使用Spring Security的基本和摘要認證 3 springboot+springsecurity 非同步日誌 驗證碼 記住我 (驗證xml方式和註解方式事務同時存在的情況) 原來預設返回html的類(如跳轉到拒絕訪問頁面),
Shiro許可權管理框架(三):Shiro中許可權過濾器的初始化流程和實現原理
本篇是Shiro系列第三篇,Shiro中的過濾器初始化流程和實現原理。Shiro基於URL的許可權控制是通過Filter實現的,本篇從我們注入的ShiroFilterFactoryBean開始入手,翻看原始碼追尋Shiro中的過濾器的實現原理。 初始化流程 ShiroFilterFactoryBean實現
文件與目錄管理命令(三)
信息 touch share 單位換算 目錄管理類命令包括:cd,pwd,ls,mkdir,rmdir,tree,cp,mv,rm,touch,stat1.1.ls功能:列出文件或目錄命令幫助:man lsinfo lsls --helphelp cd #只有內部命令才能用ls /usr/s
Java實驗--基於Swing的簡單的歌曲信息管理系統(三)
img dbo check clas str http 按鈕 cancel uuid 轉載請註明出處,上一篇《Java實驗--基於Swing的簡單的歌曲信息管理系統(二)》介紹了項目的目錄結構和Dao層,本篇主要講解界面的繪制和業務層Service。 登錄界面 登錄
Linux系統管理初步(三) Linux網絡管理(一)(編輯中)
中斷 網絡 lin 命令 連接 nag shell sha 系統管理 Linux網絡管理(一) 一、ifconfig命令ifconfig命令可以顯示網卡及ip參數,在centos6中是比較重要的命令。 使用示例:1、網卡停止與網卡啟動 ifdown (網卡名)ifup
PHP、thinkPHP5.0開發網站文件管理功能(三)編輯文件
code AC RF ret 文件類型 功能 utf TP req public function edit(){ $file = iconv(‘UTF-8‘,‘GB2312‘,urldecode(input(‘file‘))); if(empty($file)
Linux 筆記 - 第十三章 Linux 系統日常管理之(三)Linux 系統日誌和服務
pac ica link tor 包含 3.1 request closed comm 博客地址:http://www.moonxy.com 一、前言 日誌文件記錄了系統每天發生的各種各樣的事情,比如監測系統狀況、排查問題等。作為系統運維人員可以通過日誌來檢查錯誤發生的原因
LAMP+Postfix+Dovecot+Postfixadmin搭建郵件管理系統(三)
接上篇,我們部署完了MySQL服務,接下來開始不是Apache服務。四、部署Apache服務 1、安裝Apache所必須的依賴包 [[email protected] ~]# yum -y ins
linux系統 使用者身份與檔案許可權(三)
0.檔案的隱藏屬性 Linux系統中的檔案除了具備一般許可權和特殊許可權之外,還有一種隱藏許可權,即被隱藏起來的許可權,預設情況下不能直接被使用者發覺。有使用者曾經在生產環境和RHEL考試題目中碰到過明明許可權充足但卻無法刪除某個檔案的情況,或者僅能在日誌檔案中追
安裝Git和建立一個倉庫repository (三)
這裡講的是windows 安裝Git: 要使用Git,第一步當然是安裝Git了。根據你當前使用的平臺來閱讀下面的文字: 在Windows上使用Git,可以從Git官網直接下載安裝程式,然後按預設選項安裝即可。 安裝完成後,在開始選單裡找到“Git”->“Git Bash”,蹦出一個類似
angular6 + ng-zorro鹿途後臺管理系統(三)專案升級改造 01 升級ng-zorro-antd到1.8+
升級命令 npm i ng-zorro-antd ng add ng-zorro-antd ng-zorro-antd 1.8+的版本圖示使用方法存在差異,我們需要按照新的標準對專案的圖示進行調整,命令如下 ng g
angular6 + ng-zorro鹿途後臺管理系統(三)項目升級改造 01 升級ng-zorro-antd到1.8+
管理系 圖標 lar 項目 實時更新 後臺管理 log 針對 建議 升級命令 npm i ng-zorro-antd ng add ng-zorro-antd ng-zorro-antd 1.8+的版本圖標使用方法存在差異,我們需要按照新的標準對項目的圖標
Docker容器技術之映象管理基礎(三)
上一篇文章連結:Docker容器技術基礎用法(二) 目錄 一、回顧 1.1docker容器的狀態 1.2docker容器管理時常用的命令 1.3docker的架構形式 二、About Docker Images 2.1 關於docker映象的作用
Spark Streaming狀態管理函式(三)——MapWithState的使用(scala版)
MapWithState 關於mapWithState 注意事項 示例程式碼 執行 結論 關於mapWithState 需要自己寫一個匿名函式func來實現自己想要的功能。如果有初始化的值得需要,可以使用initia
深入理解java虛擬機器之自動記憶體管理機制(三)
各類垃圾收集器與GC日誌 (一)垃圾收集器 一、Serial收集器 最基本、歷史最悠久的收集器。使用複製演算法,用在新生代,通常老年代用Serial old配合。GC過程需要stop the world。適用於client模式下的虛擬機器。 二、ParNew收集器
linux 記憶體管理---bootmem(三)
為什麼要使用bootmem分配器,記憶體管理不是有buddy系統和slab分配器嗎?由於在系統初始化的時候需要執行一些記憶體管理,記憶體分配的任務,這個時候buddy系統,slab分配器等並沒有被初始化好,此時就引入了一種記憶體管理器bootmem分配器在系統初始化的
Java專案開發成績管理系統(三) 學生資訊模組—主介面設定
學生資訊模組負責管理學生的個人資訊,包括對學生人數的增加對資訊的修改等, 1.主介面設計: 學生資訊主介面包含選單欄,列表按鈕,等元件,其實現程式碼如下: package student; import grade.GIndex; import java.awt.*;
vue+element 後臺管理系統(三)樹形圖
vue+element 後臺管理系統,沒有依賴vue-cli,是經典的web模式。 <!DOCTYPE html> <html class="over_hidd"> <