linux git 用户名设置,git在linux上的安装配置包括设置不同用户的权限

2023-10-27

目的:git在linux上的安装配置包括设置不同用户的权限。

以下软件将被安装

Git

Gitosis

user1可以对于test仓库有读写权限,user2对于test仓库只有可读权限。

1. 增加yum repository

在CentOS中,在不增加repository情況下是找不到Git的套件的,所以需要增加一個repository。

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

只有读取权限无写权限

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux git 用户名设置,git在linux上的安装配置包括设置不同用户的权限 的相关文章

随机推荐