每次执行git pull
或时git reset
,git
都会重置对我进行的权限和所有权的更改。你自己看:
#!/usr/bin/env bash
rm -rf 1 2
mkdir 1
cd 1
git init
echo 1 > 1 && git add 1 && git ci -m 1
git clone . ../2
cd $_
chmod 0640 1
chgrp http 1
cd ../1
echo 12 > 1 && git ci -am 2
cd ../2
stat 1
git pull
stat 1
输出:
$ ./1.sh 2>/dev/null | grep -F 'Access: ('
Access: (0640/-rw-r-----) Uid: ( 1000/ yuri) Gid: ( 33/ http)
Access: (0664/-rw-rw-r--) Uid: ( 1000/ yuri) Gid: ( 1000/ yuri)
有没有解决的办法?
我想使某些文件/目录可被Web服务器访问。
newgrp
。然后,是否仅更改当前shell的组?最后,重点是只允许Web服务器访问特定文件/目录以进行写入。毕竟,我可能应该手动修复它们,或者设置一些git
挂钩...