unix:覆盖同一组中另一个用户写入的文件

unix:覆盖同一组中另一个用户写入的文件

操作系统:Ubuntu 12.04

我有一个目录,已将写入权限授予组foo。两个用户barbaz是该组的一部分。两者都可以成功地将文件写入目录。但是,baz无法覆盖由 写入的文件(即创建具有相同名称的文件)bar。我正在通过 Python(csv 模块)进行文件 I/O,但我认为这与这个问题无关。

我如何设置权限以便bar可以baz覆盖目录中彼此的文件foo

谢谢。

答案1

您可以将目录的模式更改为 setgid,以确保新文件与目录所有者属于同一组。有关更多信息,请参阅此文章:http://en.wikipedia.org/wiki/Setuid

命令是:chmod g+s /path/to/directory

答案2

当用户创建文件时,默认权限不允许写入组。您需要更改,umask以便新创建的文件将具有组的写入权限:

umask 0002

要知道当前的 umask 是多少,请在没有参数的情况下运行它。

人umask了解更多信息。

相关内容