sorakylin
V2EX  ›  GitHub

疑问:为什么 Github 组织管理者可以删除组员在组织内创建的仓库?

  •  
  •   sorakylin · Jun 3, 2022 · 5569 views
    This topic created in 1617 days ago, the information mentioned may be changed or developed.

    额,可能是个傻问题吧…… 但我确实很疑惑。
    我试了下,我作为一个 Github Organization 的所有者可以随便的删除我组里成员创建的仓库,哪怕这个仓库和我半毛钱关系都没有。


    假设以下场景:
    你加入了某个开源爱好者的组织, 然后以组织作为所有者创建了代码仓库(或者是将自己原有的仓库迁移到了组织里来)。

    有一天你得罪了组织的 Owner ,或者是他心情不好突然觉得不想让你的仓库待在这里。
    所以他直接一个删除仓库, 你的仓库就没了,像是 Star 啊、贡献者关系啊、commit log 啊都 balabal 的全部化为乌有。

    会不会有点不太好?


    我觉得,在一个组织内,如果是管理员 /Owner 自己创建的仓库,直接删了就删了。
    但如果是成员创建的仓库,组织 Owner 只能将这个仓库踢出变为个人所有才是更安全的吧?


    还是说默认个人需要承受仓库被删除的风险,才能加入组织。
    没搞得太懂这个逻辑……

    29 replies  •  2022-07-30 20:07:30 +08:00
    admpubcom
    admpubcom
    Jun 3, 2022 via iPhone
    1
    确实是个傻问题
    arch9999
    arch9999
    Jun 3, 2022
    2
    你作为一个组织的所有者,也能说出来以组织名义创建的仓库和你无关?
    chloerei
    chloerei
    Jun 3, 2022 via iPhone❤️11
    3
    无法理解怎么会有这个问题。
    clf
    clf
    Jun 3, 2022
    4
    你可以选择 fork 它的项目,个人项目就个人开发。
    rb6221
    rb6221
    Jun 3, 2022
    5
    正常情况下所有者=创建者,但是这里所有者是 org ,他不能创建仓库,所以创建者才是组员。
    所以问题的核心是为什么创建这个动作要交给组员,而不是为什么创建者不能控制仓库。
    其实正常的解决思路是 并不应该让组员创建了仓库以后加入 org ,而是直接应该支持 org 创建仓库。
    KagurazakaNyaa
    KagurazakaNyaa
    Jun 3, 2022
    6
    @janus77 实际上 org 是可以创建仓库的,它是个 namespace ,有权限的用户就可以在它下面创建 repo
    DoveAz
    DoveAz
    Jun 3, 2022 via Android
    7
    我觉得很合理啊
    rb6221
    rb6221
    Jun 3, 2022
    8
    @XiLingHost #6 那这样就比较合理了,组员选择将仓库加入 org 的那一刻也就是相当于给仓库添加了一个新管理员。也没人说管理员只能有一个。而且组员将仓库加入 org 也是获得了更多曝光的好处的,当然要让渡一部分权利出来。
    cnbatch
    cnbatch
    Jun 3, 2022❤️1
    9
    考虑下这个场景:
    组织某个成员的 Github 账户被黑客盗取了密码,这个黑客浏览一番后发现组织的各个仓库都没什么感兴趣的内容,于是就开了个恶意玩笑,新建仓库,把一些黄图黄片放在仓库内,还设成了公开可见。弄好后,还准备在其他论坛、新闻网站广而告之,使这件事变成公共丑闻。
    而就在黑客创建仓库时,其中某个组织管理者刚好发现了异常情况。为了紧急灭火应该怎么做?一般人想到的都会是立即删了这个新仓库。
    如果组织管理者无法删除仓库,又不能强行转移 owner ,只能踢出去……好吧,这件事铁定变成公共丑闻。
    mysalt
    mysalt
    Jun 3, 2022
    10
    因为组员把仓库创建在组织中。
    BeautifulSoap
    BeautifulSoap
    Jun 3, 2022❤️5
    11
    "疑问:为什么 root 账号可以删除其他账号在电脑上创建的文件?"
    brsyrockss
    brsyrockss
    Jun 3, 2022
    12
    借用你的话
    没搞得太懂这个逻辑……
    sorakylin
    sorakylin
    OP
    Jun 3, 2022
    13
    @chloerei #3
    哈哈哈,我也是纠结了很久才问出了这个问题,毕竟这功能存在这么久了,也总有它的道理。
    但我想着想着就总感觉组织里的项目生杀大权交于组织 Owner 一个人手上,就像是自然人在企业中的所有创作都归于企业,可人和企业是存在劳动关系的。像这种面向普罗大众的功能很多都是公益性质、开源性质、爱好 /娱乐性质的,我总觉得和企业对标好像有点不太对劲,可能是我想多了吧。


    @cnbatch #10 可是踢出去的话不就和组织无关了吗,将其降级成了一个个人账号的仓库被盗事件,而他也确实是被盗了。
    再换一个角度的话,如果是 Owner 被盗了,Owner 又拥有这么高的权限,能够造成的危害与影响会更大吧。
    pengtdyd
    pengtdyd
    Jun 3, 2022
    14
    组织权力大于一切,难道你想造反吗?
    binux
    binux
    Jun 3, 2022 via Android
    15
    @sorakylin 你在公司里,以公司名义发布的产品,公司当然有杀生大权。你愿意,完全可以维持一个个人 fork
    newtype0092
    newtype0092
    Jun 3, 2022❤️2
    16
    "但如果是成员创建的仓库,组织 Owner 只能将这个仓库踢出变为个人所有才是更安全的吧?"

    如果这个仓库变成了个人仓库,曾经在这个仓库里贡献过的其他组织成员不就哭了。。。
    freemoon
    freemoon
    Jun 4, 2022
    17
    中出了个叛徒
    cybird
    cybird
    Jun 4, 2022
    18
    哈?你们是个组织啊......
    wutiantong
    wutiantong
    Jun 4, 2022
    19
    “有一天你得罪了组织的 Owner ,或者是他心情不好突然觉得不想让你的仓库待在这里。”

    —— 相对而言,这才是更荒谬的地方。
    cnbatch
    cnbatch
    Jun 4, 2022
    20
    @sorakylin 真的跟组织无关?那就大意了。

    如果黑客发布的不是黄图,而是散布有关公司的谎言,例如什么“CEO 宣布辞职”、“我们的产品在发布二进制包时其实故意留了后门”、“某某经理其实是某某国家派来的间谍,我有证据如下”……之类的,那杀伤力可大可小,对于上市公司而言很可能一下子就股价下跌,连续发酵好几天。

    至于 Owner 账号被盗,就算权限方面实现了你所说的做法,杀伤力并不会有所减少,甚至更惨。比如被盗的 Owner 把黑客的各个小号弄进组织,踢走真正的员工,然后在这些小号里大批量发布假消息。公司的人重新夺回 Owner 账号后,却无法删除那些假消息,只能干瞪眼着急。
    cnbatch
    cnbatch
    Jun 4, 2022
    21
    还有,对于以上这两种情况,就算把那些账号踢出去,黑客们、或者雇佣这群黑客的团体,还可以发布阴谋论说,“他们踢了这些人出去但却没有删除消息,显然是因为无法否认,并且管理层存在严重的内斗”,接着大说特说,那影响和危害只能更加严重。不要指望普通大众能懂 Github 的规则,他们甚至都未必听说过 Github 这个网站。z
    drackzy
    drackzy
    Jun 4, 2022
    22
    权限就是这样设计的。
    msg7086
    msg7086
    Jun 4, 2022
    23
    在 Org 里开的项目,归属于 Org 而不是个人。如果你把你的项目转移到一个 Org ,那就表示你认可把这个项目献给这个 Org 。如果以后因为各种原因 Org 决定违背你的意愿删除这个项目,你只能怪自己眼睛瞎了。
    flyqie
    flyqie
    Jun 4, 2022 via Android❤️1
    24
    你不理解的原因,是因为你把 组织 的权限管理定位在了 开源爱好者组织。

    实际上,组织 的权限管理设计主要照顾到的是企业 /独立团队等商业化客户,这种客户一般不会存在你所谓的因为得罪 org owner 被 delete 掉仓库的假想情况。
    flyqie
    flyqie
    Jun 4, 2022 via Android
    25
    奇怪。。好像刚才发的不可见了?

    你不理解的原因,是因为你把 组织 的权限管理定位在了 开源爱好者组织。

    实际上,组织 的权限管理设计主要照顾到的是企业 /独立团队等商业化客户,这种客户一般不会存在你假设的这种情况。
    sorakylin
    sorakylin
    OP
    Jun 4, 2022
    26
    @flyqie #24 行,大概理解这个意思了,多谢。
    这么说之前是我想岔了,Org 这功能在设计的时候想的如果是主要照顾到企业 / 独立团队等商业化客户的话,如今这样子实现确实是没毛病。
    phithon
    phithon
    Jun 4, 2022
    27
    个人项目也有一样的问题,比如你参与了其他人的项目,贡献了很多代码,但 owner 哪天不高兴直接把项目删了,你的贡献也一样没有了。
    whileFalse
    whileFalse
    Jun 4, 2022 via iPhone
    28
    因为正确的用法是个人吧组织仓库 fork 出一份来然后通过 pr 协作。
    当然为了方便,有人可能会直接用组织仓库提交,那么问题也不是特别大,毕竟你本地总会有个克隆,线上删了本地还在
    kkeep
    kkeep
    Jul 30, 2022
    29
    组织里并不是人人平等的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1854 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 61ms · UTC 07:03 · PVG 15:03 · LAX 23:03 · JFK 02:03
    ♥ Do have faith in what you're doing.