• git权限管理工具gitolite使用笔记(二)


    (一)里面配置好了gitolite,这篇主要介绍下怎样使用,以及遇到的问题。

      先一下gitolite-admin,clone到本地后,发现只有两个文件夹和两个文件,具体如下图。其中keydir是用来保存用户的pub key,.pub 前面的内容即为用户名,默认有一个用户,即gitolite的管理员,git_admin。gitolite.conf 是配置文件,管理git下的项目路径和用户权限,初始时如下图。

      其中 RW 代表读写权限,+代表强制写权限,repo 表示项目相对路径(相对于server上的repository文件夹),@all是一个默认变量,表示所有用户。其中 gitolite-admin 表示 只有 git_admin 可以操作,而testing 表示任何在keydir里列出来的用户都可以操作。

    下面做下 gitolite.conf 的简单配置,当然在配置之前先要在keydir下添加相关用户的public key。

    如下 @product 是用户分组,用户又 user_one user_two 。@product_repos 是项目分组,有product_a 和 product_b 其中 "/"之前是相对路径。 RW+=@product 表示对应这个组的用户都有此项目的读写权限。提交后即可在 /home/git/repository/ 文件夹下看到对应的工程目录。

    @product    =     user_one user_two
    @hudong     =    @product git_admin
    @product_repos    =   product/product_a
    @product_repos    =   product/product_b
    repo gitolite-admin
        RW+     =   git_admin
    repo testing
        RW+     =   @all 
    repo testRead
        R        =    @all
    repo testNew
        RW        =    user_one
    repo tools/Test
        RW+        =    @all    
    repo product/product_nb
        RW+        =   @product   
    repo test/testProject
        RW+     =     @hudong

     下面是普通用户在自己电脑上所做的操作:

    1、eclipse上可用eclipse的egit插件操作 eclipse->help->eclipse marketplace->搜索egit->安装->重启

    2、重启后打开eclipse,Windows->Preference->Team->Git 点开,说明安装成功。先设置 default repository folder ,选择自己的代码库。

    3、继续第二步,Git -> Configuration 设置用户名和邮箱(目前邮箱功能还没启用),用来记录日志。我的设置如下图

    4、改造私钥,secureCrt -> Tools -> Convert Private Key to OpenSSH Format 找到自己的私钥,输入passphrase,转换成功,保存。

    5、打开eclipse ->Windows -> preference -> General -> Network Connections -> SSH2 点开,打开tab页 Key Management 选择 Load Existing Key,找到刚才转换好的私钥,选中,输入passphrase,点 Save Private Key ,这时候在tab页general的Private keys 里已经可以看到刚才保存的私钥。点下面的按钮,Apply,点ok退出,重启eclipse(必须重启)

    6、至此,client端用户的git已经设置完毕。

    7、导入测试工程。eclipse右键 import -> Git -> Project From Git 点 next -> 选url 填入如下信息。
    注:usr 填git,这是统一登录账户,没有密码,与之前填的用户不一样,之前的账户用于记录日志。

    8、一直next,最终完成,即可在工作目录看到 testProject 这个项目。

    这里设置完毕,但这里会遗留一个问题,git 使用 git log 来查看用户提交记录,记录的是gituser(即前面自己填的账号、邮箱)的提交记录,不是ssh key,而gituser可以伪造,会导致不可预测的风险,如账号伪造等。但最终这个问题也解决了,具体请看《git权限管理工具gitolite使用笔记(三)》

  • 相关阅读:
    Hadoop之HDFS中HA的搭建
    HBase详细介绍
    HBase简介
    MapReduce工作原理介绍
    springMVC中的form:标签使用
    自定义fns
    db2数据建邦联-相当于Oracle数据库的dblink
    Oracle和db2数据库基础操作
    Linux学习之添加用户
    AMPQ 0-9-1学习笔记
  • 原文地址:https://www.cnblogs.com/seanvon/p/3124226.html
Copyright © 2020-2023  润新知