OurJS


OurJS-我们的JS, 我们的技术-IT文摘; 专注JS相关领域;
我们热爱编程, 我们热爱技术;我们是高大上, 有品味的码农;

欢迎您订阅我们的技术周刊


我们会向您分享我们精心收集整理的,最新的行业资讯,技术动态,外文翻译,热点文章;
我们使用第三方邮件列表向您推送,我们不保存您的任何个人资料,注重您的隐私,您可以随时退订,

欢迎分享您的观点,经验,技巧,心得

让我们一起找寻程序员的快乐,探索技术, 发现IT人生的乐趣;


本网站使用缓存技术每次加载仅需很小流量, 可在手机中流畅浏览;
如果您发现任何BUG,请即时告知我们: ourjs(at)ourjs.com

Git服务器搭建,多用户组权限控制配置,添加新用户密码登陆


分享到


分类 技术前沿   关键字 分享   发布 ourjs  1531985571718
注意 转载须保留原文链接,译文链接,作者译者等信息。  
因为git是通过ssh协议实现的,所以权限控制与Linux的权限控制一致,即可以通过ssh key文件登录,安全性更高。也可以设置用户名密码登录,这样无需分发与管理key文件。这里主要介绍如何搭建git服务器并通过用户组设置户用户统一Git权限。


服务器端安装 git server

apt-get install git-core

服务器创建 /git/ourjs 目录,-p是深度创建目录,此目录所在的文件系统需要支持组权限设置,ntfs文件系统则不支持。

mkdir -p /git/ourjs

切换到 ourjs 目录

cd /git/ourjs

初始化 git 仓库,指定通过用户组进行权限控制

git init --shared=group

创建 git_ourjs 用户组,用于统一权限控制

addgroup git_ourjs

添加一个 test 用户,指定用户组为 git_ourjs,按提示设置密码即可

adduser --ingroup git_ourjs test

将 ourjs 仓库用户组改为 git_ourjs

chgrp -R git_ourjs /git/ourjs

给用户组添加读写权限

chmod -R g+swX /git/ourjs

然后本地可以通过test用户clone

$ git clone ssh://test@192.168.0.101/git/ourjs

结果

Cloning into 'ourjs'...
test@192.168.0.101's password:
Permission denied, please try again.
test@192.168.0.101's password:
warning: You appear to have cloned an empty repository.

不过提交时可能会报错

$ git push
test@192.168.0.101's password:
Counting objects: 3, done.
Writing objects: 100% (3/3), 207 bytes | 69.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: error: is denied, because it will make the index and work tree inconsistent
remote: error: with what you pushed, and will require 'git reset --hard' to match
remote: error: the work tree to HEAD.
remote: error:
remote: error: You can set 'receive.denyCurrentBranch' configuration variable to
remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into
remote: error: its current branch; however, this is not recommended unless you
remote: error: arranged to update its work tree to match what you pushed in some
remote: error: other way.
remote: error:
remote: error: To squelch this message and still keep the default behaviour, set
remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
To ssh://192.168.0.101/git/ourjs
 ! [remote rejected] master -> master (branch is currently checked out)
error: failed to push some refs to 'ssh://test@192.168.0.101/git/ourjs'

这是由于git默认拒绝了push操作,需要进行设置,修改.git/config

nano /git/ourjs/.git/config

添加如下代码 denyCurrentBranch  即可:

    [receive]
        denyNonFastforwards = true
        denyCurrentBranch = ignore

或者在服务器端运行

git config receive.denyCurrentBranch ignore


您可以添加新的用户 test2 到 git_ourjs 组
adduser --ingroup git_ourjs test2

然后在另外一台电脑上用 test2 clone即可:

git clone ssh://test2@192.168.0.101/git/ourjs

然后test2就可以也提交代码到 ourjs 了


相关阅读:
Linux上为git无交互添加最低权限的使用用户
Debian/Ubuntu Linux搭建SVN服务器,并设置开机默认启动


社区评论 ( Beta版 )
OnceDoc 您自己的企业内容管理系统——文档、流程、知识库、报表、网盘All In One

访问404页面,寻找丢失儿童
 热门文章 - 分享最多
  1. Git服务器搭建,多用户组权限控制配置,添加新用户密码登陆
  2. 设置select元素中option的默认值
  3. Node.JS用Path将相对路径转为绝对路径
  4. Debian/Ubuntu Linux搭建SVN服务器,并设置开机默认启动
  5. Office365并不是完全基于JavaScript重写的,只是用来构建UI界面
  6. 用JavaScript将input/textarea中的文本复制粘贴到剪切板
  7. Facebook 正在重构 React Native,将重写大量底层
  8. JavaScript用Number/parseInt/parseFloat判断字符串是否为数字
  9. Node.JS命令行或批处理中更改Linux用户密码
  10. 上海行业工资排名:产品经理一骑绝尘,前端排名第二?
  11. 用 OnceAir 搭建个人Git/Svn/照片备份服务器,每年电费7块钱

 相关阅读 - 技术前沿
  1. Git服务器搭建,多用户组权限控制配置,添加新用户密码登陆
  2. Facebook 正在重构 React Native,将重写大量底层
  3. WordPress、百度宣布停止使用React(Native)开源项目,Facebook开源专利许可潜在的法律风险
  4. 比特币的技术缺陷:区块链信息越来越大怎么办?
  5. Phantom.js维护者Slobodin退出,著名自动化测试与智能爬虫框架前景不明
  6. Java已快过时?斯坦福大学将JavaScript作为计算机科学入门课
  7. 2016 年崛起的 JS 项目
  8. OnceVI前后端分离的数据可视化报表工具简介
  9. 关于华为优化30、40老员工的争议
  10. GitHub 第一坑:换行符自动转换

 关键字 - 分享
  1. Node初学者入门,一本全面的NodeJS教程
  2. IE、Chrome、Firefox浏览器默认首页被改成360导航解决办法(删除daohang88.com)跳转
  3. C语言用指针模拟按引用传递int整型参数
  4. Redis只往zset有序集合添加不存在的数据:关键字索引查询构建+源码分析
  5. redis5.x新特性,Stream流数据类型使用简单教程
  6. 一位自由职业者的分享:程序员怎样找兼职?
  7. 对于现代开发来说,JavaScript就是一种垃圾语言
  8. 我为什么不再用Compass写CSS(缺点分析)
  9. Redis/Python被要求更改Master/Slave程序接口名称和描述
  10. 程序员疑似将MySQL用户名密码上传至Github,导致华柱1.3亿条开房数据泄漏

 欢迎订阅 - 技术周刊

我们热爱编程, 我们热爱技术; 我们是高端, 大气, 上档次, 有品味, 时刻需要和国际接轨的码农; 欢迎您订阅我们的技术周刊; 您只需要在右上角输入您的邮箱即可; 我们注重您的隐私,您可以随时退订.
加入我们吧! 让我们一起找寻码农的快乐,探索技术, 发现IT人生的乐趣;


 关注我们

我们的微信公众号: ourjs-com
打开微信扫一扫即可关注我们:
IT文摘-程序员(码农)技术周刊

ourjs官方微信号