Linux 下如何写入文件不修改文件的 Owner 或者 Group ?

2014-06-13 13:25:36 +08:00
 Lucups
蛋疼的一米。。。

部署了 Gitosis (PS:听说已经停止开发?我看到 SF上有人建议用 Gitolite),设置了 git 用户组。
问题来了,每次 push 后,文件的拥有者就变成了 tony:tony 而不是 git:git 或者 tony:git
导致其他用户无法 push .

另: 我把/etc/profile 的umask 设置为 0002,但用 Git Bash (msysgit) push 的文件权限还是 755 的。但如果用 putty 之类的SSH登录,却是 775(umask 输出 0002),这有点奇怪。

该如何解决?
THX!
3090 次点击
所在节点    问与答
5 条回复
9hills
2014-06-13 13:27:06 +08:00
难道不是大家都用gitlab了么。。

这个和Linux无关,是程序行为,Linux只写文件是不会改变文件属性的。。
Lucups
2014-06-13 13:29:50 +08:00
@9hills 原来如此,非常感谢!
Lucups
2014-06-13 17:02:54 +08:00
@9hills 我发现问题了,不是修改的文件,是新增的文件。。。

tony 新增了文件, 虽然umask显示0002,但创建的文件还是755 的,另外owner是 tony:tony 的。
这是最终的问题。
msg7086
2014-06-13 17:11:52 +08:00
linux下创建文件是按照uid和gid来创建的,所以如果这个服务器只用来跑git的话,就把账号的主用户组改成git。
Lucups
2014-06-13 17:32:11 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/117308

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX