操作系统:Ubuntu 12.04
我有一个目录,已将写入权限授予组foo
。两个用户bar
和baz
是该组的一部分。两者都可以成功地将文件写入目录。但是,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了解更多信息。