我有一个 git 服务器,人们可以通过 ssh 设置远程存储库,并且有一个 git 用户,他们都以具有安全权限之类的方式连接。
我正在编辑存储库中的预接收 Hook ,以便它查看环境变量 $GIT_USER
是否与该存储库的允许用户列表匹配,以防止未经授权的用户推送。
此环境变量在 git 用户的 .ssh/authorized_keys
文件中单独设置。
但是,我不希望为 git 之外的任何用户设置 ssh 环境变量。
有什么方法可以编辑 /etc/ssh/sshd_config
以便只为 git 用户启用 PermitUserEnvironment
吗?
最佳答案
解决方法是:
- 将
PermitUserEnvironment
保留为“否” - 将
/usr/local/bin/git
替换为包装脚本,该脚本将:- 设置相关环境变量
- 调用实际的
git
二进制文件。
关于git - 固态硬盘配置 : PermitUserEnvironment on a case-by-case basis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71865559/