git在linux上的安装配置包括设置不同用户的权限
来源:互联网 发布:网络直拨电话 编辑:程序博客网 时间:2024/06/05 11: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服务选项,取出"gitosis-admin" 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 "config1"
git push origin master
# 如果SSH port不是22 -> git push ssh://git@SERVER:SSH_PORT/gitosis-admin.git master
7建立第一个版本的"test" 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 "A" >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 "config3"
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
只有读取权限无写权限
- git在linux上的安装配置包括设置不同用户的权限
- git在linux上的安装配置包括设置不同用户的权限
- wingvs不同用户设置不同的访问权限方法
- Oracle database 安装在 Linux(rhel,oel,centos)上的用户设置
- hadoop2.2.0的分布式centos上的安装(包括linux的相关配置和hadoop安装)
- ODI11G 在Linux上的安装配置
- Tomcat在Linux上的安装配置
- android 用户应用使用系统权限如reboot的permission办法 包括顺利安装到手机上INSTALL_FAILED_INVALID_INSTALL_LOCATION
- 在Linux系统上找没有设置口令的用户
- 数据库可以为用户设置不同的权限
- Sql2008不同用户指定访问数据库的权限设置!
- Django 权限认证 编写 -- 根据不同的用户,设置不同的显示和访问权限
- [Ubuntu] SVN server 安装配置: 包括权限的设定
- GIT在Linux上的安装和使用简介
- GIT在Linux上的安装和使用简介
- GIT在Linux上的安装和使用简介
- GIT在Linux上的安装和使用简介
- 在Linux上git的安装,基于系统Ubuntu16
- 命令行设置RTC alarm
- c++ - 为什么头文件里只申明不实现
- SharePoint 2013的100个新功能之内容管理(四)
- 学完多态里的重载跟覆盖后。自己复习的写的题目--binbinyang
- view : getwidth
- git在linux上的安装配置包括设置不同用户的权限
- adb server is out of date. killing...
- 屌丝,你靠什么逆袭
- SMTP(Simple Mail Transfer Protocol, 简单邮件传输协议)简介
- ZOJ 3123 Subsequence (动态规划)
- http测试小工具
- 复杂linux命令组合使用快捷方法
- hdu 2074
- 正则表达式提取String子串