2

我们有一个正在使用 WP-Engine 开发的网站。为了简化流程,我为站点设置了 git 存储库,以自动将代码更改推送到 WP-Engine 暂存区域,使用如下所示的 Post Receive 挂钩:

#!/bin/bash -x  
PUSH_AS_USER="admin"  
sudo -u $PUSH_AS_USER git push wp-engine-staging master

我还做了它,以便 admin 组中的任何用户都可以 sudo -u admin git,而无需输入密码(作为参考,将以下内容添加到 /etc/sudoers

%admin  ALL=(admin)     NOPASSWD: /usr/bin/git`

当我推送到存储库时,它会触发 post commit hook,但由于某种原因它只对我有用。另外两个用户收到以下警告:

[username@server repository]$ sudo -u admin git push wp-engine-staging master  
fatal: unable to access '/home/username/.config/git/config': Permission denied

奇怪的是,我的用户没有这个文件,我的工作正常。此外,如果我为这些用户创建文件,我似乎无法授予管理员查看它的权限,即使我将 admin 添加到用户自己的组中,并向文件的每个目录中的组授予读取权限。(即 /home/username/.config/git/ 和配置文件本身)。

作为这个奇怪问题的另一个例子:

[daniel@server repository]$ sudo su username  
[username@server repository]$ sudo -u admin git config --global --list  
fatal: unable to access '/home/username/.config/git/config': Permission denied  
[username@server repository]$ exit  
[daniel@server repository]$ sudo -u admin git config --global --list  
user.email=daniel@example.com  
user.name=Daniel  
[daniel@server repository]$ cat /home/daniel/.config/git/config  
cat: /home/daniel/.config/git/config: No such file or directory

这很扰乱我们的工作流程。有任何想法吗?

4

0 回答 0