在myscript
我有一条线可以做到这一点:
chmod 660 somefile_given_as_argument_to_myscript
我给了一个组的成员执行脚本的权利。 ( chmod 770 myscript
) 但是当他们在属于我的文件上执行脚本时,它会失败,因为他们没有更改该文件的权限。
我可以在我的脚本中添加一些内容来赋予该组的任何成员修改权限属于该组任何成员的任何文件?
编辑
应一些人的要求,我将详细说明为什么我要这样做。我的最终目标是允许组中的任何成员读写给定目录中的任何文件。我已经发布了另一个问题但目前还没有给出好的答案。然后我认为任何用户都可以更改权限,以便该组的任何成员都可以读写任何文件。但这不起作用,因为一个用户无法更改属于其他人的文件的权限...我在另一篇文章中遇到的问题是,在共享目录之外创建然后在其中移动/复制的文件,不可以没有正确的权限(我已经更改了共享目录的 ACL)。
答案1
你正在寻找的是umask(1)
在您的情况下,尝试umask 007
这将创建无法访问其他文件的文件。
你真的需要+x
一点吗?
答案2
该chmod
命令支持s
- 标志:在执行时设置用户或组 ID。以前,即使在脚本上也是可能的,尽管出于安全原因,较新的 Unix 不允许在脚本上使用它,因此它可能适合也可能不适合您的环境。