允许用户将文件移动到“只读”目录中

允许用户将文件移动到“只读”目录中

我使用的是 Ubuntu 20.04,我有一些用户在自己的主目录中使用 Jupyter 笔记本,然后他们可以将笔记本移动到 Jupyter 服务器上的共享目录中,每个人都可以在其中读取它们,但不能编辑或删除它们。只有所有者才能删除和编辑。

我尝试使用 setgid 和粘性位,我遇到的最后一个问题是,如果文件具有664权限,我看不到将其更改为644只有所有者才能更改它的方法。

答案1

这(可能)可以通过默认 ACL 来完成。在文件上传到的目录(可能不是它们最终出现的目录)上,您必须进行以下配置:

setfacl -m d:g::rx /path/to/dir
setfacl -m d:o::rx /path/to/dir

答案2

感谢您的澄清。听起来你希望组中的每个人都能够添加文件,并且添加文件后,他们的权限变为 644。我建议使用在文件系统事件incron执行chmodIN_CREATE

具体来说,编辑 crontabincrontab -e并添加触发事件:

~/readonlyDirectory IN_CREATE customScript.sh $#

然后创建customScript.sh更改新文件的权限:

#!/bin/bash
chmod 644 $1

原答案:

您必须是所有者或超级用户才能更改此文件。您需要与所有者交谈并让他们运行命令chmod 664 filename,或者与系统管理员交谈以提升您的运行权限sudo chmod 664 filename

如果他们不允许您执行任何操作,那么您就有充分的理由不应该写入该目录。

相关内容