Pie*_*NAY 5 git permissions repository
我使用一个裸存储库,多个开发人员可以推送.
正如所建议的,我曾经sharedRepository = true告诉git给一组用户提供推送权限.
当我想添加按钮时,我只需将它们添加为辅助组(sudo adduser the_pusher the_required_group)
当devs推送时,我看到objects在使用良好权限而不是良好组创建的目录中创建的文件.
例:
$ 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
...
Run Code Online (Sandbox Code Playgroud)
如您所见,附加组是主要组 pusher1
我怎样才能使用git来附加这些对象the_required_group呢?
更新
我在ssh上使用git.每个开发者都有自己的ssh帐户.
我的团队通过s在存储库中的所有目录上设置选项来修复此问题,然后将chmod 文件和目录设置为正确的用户/组,然后将存储库中的所有内容设置为“执行此操作”。chownchgrpchmod g+s
这+s会导致新文件具有其父目录的组。取自man 2 chown
- 如果使用 -o nogrpid 挂载文件系统,并且在父目录上启用了 set-group-ID 位,则新文件的组将与父目录的组相同。
另请参阅,man chmod以及man 2 chmod