essay | tech | note | year-summary | about

返回上级菜单

Git User Permission


日期:2026-04-02T20:16:28+08:00

权限相关

给权限

chown -R git:git /var/www/aya_blog
sudo chown -R $(whoami):$(whoami) /home/git/repos/aya_blog.git

chmod +x post-receive
chown git:git post-receive

查权限

ls -ld /var/www/deploy.sh

假装是这个用户

su - git
sudo -u git /var/www/deploy.sh

运行

临时改路径,下一行改回来(子shell)

( cd /some/project && npm run build )

git 初始化

# 初始化(服务器)
sudo -u git git init --bare /home/git/repos/aya_blog.git

# 客户端(本机也当客户端)
git clone git@localhost:/home/git/repos/aya_blog.git
sudo -u git git clone /home/git/repos/aya_blog.git

安全

锁定密码

passwd -l git

创建

adduser = 人类友好接口
useradd = 内核级工具

创建一个 git 用户 + 限制 SSH

👉 推荐直接用:useradd

# 创建账号
# adduser = 人类友好接口
# useradd = 内核级工具
useradd -m -s /usr/bin/git-shell git

# 创建 SSH 目录
mkdir -p /home/git/.ssh
chmod 700 /home/git/.ssh

# 放入 authorized_keys
vim /home/git/.ssh/authorized_keys
chmod 600 /home/git/.ssh/authorized_keys
chown -R git:git /home/git/.ssh

其他操作


# ① 创建 home 目录(如果没有)
mkdir -p /home/git

chown git:git /home/git
chmod 755 /home/git

# ② 修改 shell → git-shell(关键)
usermod -s /usr/bin/git-shell git

# ③ 补充 home 目录绑定(很重要)
usermod -d /home/git git

# ④ (可选但推荐)锁定密码
usermod -L git   # 锁密码
passwd -l git