一些用户使用sudo -u的Git post receive hook

时间:2013-10-10 10:20:26

标签: wordpress git bash sudo

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

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

我也做过这样管理组中的任何用户,可以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

我们的工作流程相当混乱。有什么想法吗?

0 个答案:

没有答案