设为首页 收藏本站
查看: 895|回复: 0

[经验分享] git在linux上的安装配置包括设置不同用户的权限

[复制链接]

尚未签到

发表于 2018-9-18 11:43:51 | 显示全部楼层 |阅读模式
  目的:git在linux上的安装配置包括设置不同用户的权限。
  以下软件将被安装
  Git
  Gitosis
  user1可以对于test仓库有读写权限,user2对于test仓库只有可读权限。
  1. 增加yum repository
  在CentOS中,在不增加repository情況下是找不到Git的套件的,所以需要增加一個repository。
  rpm -Uvh http://yum.beta.gist.com/gist/centos/5/RPM/epel-release-5-3.noarch.rpm
  2. 安裝Git, git-web以及gitosis
  yum -y install git gitweb gitosis
  3. 配置Git账号
  useradd git             # 使用"git"作為管理Git的用戶
  passwd git              # 更改"git"密码
  4. 配置Gitosis
  su - git                # 使用"git"操作
  cd ~
  # Gitosis需要设置name和email才能进行commit动作
  git config --global user.name  "用戶显示的名称"
  git config --global user.email "用戶邮件地址"
  ssh-keygen -t rsa                               # "git"用户作为Git服务器的管员,
  #用它來生成public key
  5. 初始化Gitosis
  su – git
  gitosis-init < ~/.ssh/id_rsa.pub
  #Gitosis管理一个特殊的 Git 仓库。你只需要在这个特殊仓库内做好相应的设定,然后推送到服务器上,Gitosis 就会随之改变运行策略.
  #这样该公钥的拥有者就能修改用于配置 Gitosis 的那个特殊 Git 仓库了。接下来,需要手工对该仓库中的 post-update 脚本加上可执行权限:
  chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
  6配置git服务选项,取出&quot;gitosis-admin&quot; repository
  su - gitcd ~git clone git@SERVER:/gitosis-admin.git  # 取出儲存權限的repository
  #修改gitosis.conf配置文件
  su - gitcd ~vi ./gitosis-admin/gitosis.conf
  [gitosis]
  loglevel=DEBUG  #增加这一句将开启debug模式显示更多的信息
  # 增加
  [group rw]
  writable = test
  members = user1
  [group rd]
  readonly = test
  members = user2
  # 格式
  [group 群组名称]
  writable = 项目名称
  members = 用戶 (用空白分开不同的用户)
  #将配置文件推到服务器上
  cd gitosis-admin
  git add .
  git commit -am &quot;config1&quot;
  git push origin master
  # 如果SSH port不是22 -> git push ssh://git@SERVER:SSH_PORT/gitosis-admin.git master
  7建立第一个版本的&quot;test&quot; project
  su - git
  cd ~/repositories
  mkdir test.git
  chmod 750 test.git
  cd test.git
  git init --bare       # 建立一個空的repository
  在client上新建user1 user2用户
  useradd user1
  passwd user1
  useradd user2
  passwd user2
  先测试是否可以clone
  su – user1
  cd ~
  git clone git@192.168.1.245:repositories/test.git  #!注意地址我这245是服务器的地址
  提示将一个空仓库拉下来了
  cd test/
  echo &quot;A&quot; >hello
  git add .
  git commit -am  “162:user1:1”   # 要先设定user.email和user.name,
  git push origin master    #推到服务器的版本库里
  接着用git2测试落下test看有无user1添加的hello文件
  su – user2
  cd ~
  git clone git@192.168.1.245:repositories/test.git
  ls显示已经有hello文件了
  8配置用户权限
  建立user1,user2的公钥和密匙(默认是2048位的)
  su - user1
  ssh-keygen -t rsa
  su - user2
  ssh-keygen -t rsa
  将user1和user2的公钥复制到git配置文件夹的keydir中
  su  –  git  #在服务器上操作
  cd   ~/gitosis-admin
  vim keydir/user1.pub
  vim keydir/user2.pub      #将公匙复制进去
  git add keydir/user*
  git commit -am &quot;config3&quot;
  git push origin master
  注意:将密匙加入后user1 和user2clone地址变化了,我也不知道为什么
  su - user1;cd ~
  git clone git@192.168.1.245:test.git
  有写入权限
  su – user2;cd ~
  git clone git@192.168.1.245:test.git
  只有读取权限无写权限


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-589795-1-1.html 上篇帖子: Git配置手册 下篇帖子: 小组级git服务器搭建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表