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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

git通过gitosis来管理权限(三)

發布時間:2025/3/21 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 git通过gitosis来管理权限(三) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先,git服務器的安裝參見

http://blog.csdn.net/lyhdream/article/details/49561645

這篇文章的一小節。


開始安裝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 runreturn app.main()File "/usr/local/lib/python2.7/dist-packages/gitosis-0.2-py2.7.egg/gitosis/app.py", line 38, in mainself.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_argsuser = 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_userraise InsecureSSHKeyUsername(repr(user)) gitosis.init.InsecureSSHKeyUsername: Username contains not allowed characters: 'git@2f3c81d1dac3'
重啟系統,重新生成秘鑰對來解決。參見文章:
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来管理权限(三)的全部內容,希望文章能夠幫你解決所遇到的問題。

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