shell – 如果我不拥有该文件但是对目录有写权限,如何更改Unix权
我和一个同事共享一个git仓库,而且由于git并没有传播Unix文件的全部权限,所以我们有一个“钩子”运行在更新中,它们需要设置“其他”权限。问题?钩子使用chmod,事实证明,当我的同事提交文件时,他拥有它,所以我不能运行chmod,反之亦然。目录都是可写的,粘性的,所以我相信我们中的任何一个都有权删除任何文件,并用相同的名称,相同的内容,但不同的所有权替换它们。大概那么我们可以chmod它。但这似乎是一个非常大的锤子,我有点麻烦了。所以,两个问题:
有人会想到另外一种办法吗? 对于那些可能没有实现的人,写权限不允许chmod: % ls -l value.c -rw-rw---- 1 agallant ta105 133 Feb 10 13:37 value.c % [ -w value.c ] && echo writeable writeable % chmod o+r value.c chmod: changing permissions of `value.c': Operation not permitted 我们都在ta105组。 笔记: >我们使用git不仅可以协调更改,还可以将repo作为课程网站发布。发布网站是回购的主要目的。权限脚本使用git钩子在每次更新时运行,并确保学生无权读取尚未公开的解决方案。
至少有一个Unix,我已经看到一种方式给某人chmod并且对特定组所拥有的所有文件选择权限。这有时被称为“组超级用户”或类似的东西。
我唯一看到这个Unix的Unix是Encore Multimax的Unix版本。 我搜索了一下,虽然我记得在Linux中有一些模糊的这种能力的引用,但我一直无法找到它们。所以这可能不是一个选择。幸运的是,它可以被模拟,尽管模拟有点危险。 模拟这个的方法是制作一个非常具体的suid程序,将在检查您是拥有该文件的同一个组的成员后,以root身份执行chmod,并且您的用户名被列为在特殊/ etc中具有该权限/ chmod_group文件,必须由root拥有,并且只能由root使用可读写。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |