我使用一个裸存储库,多个开发人员可以在其中推送。
按照建议,我用了sharedRepository = true
告诉 git 给一组用户推送的权限。
当我想添加推送者时,我只需将它们添加为所需的组作为辅助组(sudo adduser the_pusher the_required_group
)
当开发人员推送时,我看到创建的文件objects
使用良好权限创建的目录,但不是使用良好组创建的。
Example:
$ ls -l repository/objects
...
drwxrwsr-x 2 pusher1 pusher1 4096 janv. 7 14:13 fa
drwxrwsr-x 2 pusher1 pusher1 4096 déc. 26 15:29 fc
drwxrwsr-x 2 pusher1 pusher1 4096 déc. 11 12:41 fd
...
如您所见,附加组是主要组pusher1
我怎样才能让 git 将这些对象附加到the_required_group
反而 ?
Update
我使用 git 而不是 ssh。
每个开发人员都有自己的 ssh 帐户。
我的团队通过设置解决了这个问题s
存储库中所有目录的选项chmod
去做这个chown
and chgrp
然后将文件和目录分配给正确的用户/组chmod g+s
存储库中的所有内容。
The +s
使新文件具有其父目录的组。取自man 2 chown
- 如果使用 -o nogrpid 挂载文件系统并且 set-group-ID 位为
在父目录上启用,然后使新文件的组相同
与父目录一样。
也可以看看,man chmod
and man 2 chmod
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)