首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux:创建文件,但不删除它们

问Linux:创建文件,但不删除它们
EN

Server Fault用户
提问于 2012-10-02 07:40:21
回答 2查看 10.6K关注 0票数 3

我有一个在工作目录中创建目录和文件的过程,例如:

代码语言:javascript
复制
/workingdir/file1
/workingdir/file2
/workingdir/dir1/file1
/workingdir/dir1/dir2/file1
/workingdir/dir1/file2

我需要避免删除/覆盖为该用户创建的文件夹/文件,但允许随后创建文件夹/子文件夹/文件。我尝试权限,gid,acl,但没有运气。

正确的方法是什么?(如果需要的话,我可以使用cron工作)

EN

回答 2

Server Fault用户

回答已采纳

发布于 2012-10-02 07:58:34

您应该能够通过使用查特设置扩展属性来实现某些目标。

在目录上使用chattr +a。这将允许他们被添加到,但将阻止他们的文件被删除。

使用chattr +i使您的文件不可变-一旦设置好它们就不能更改。

只有在附加模式下才能打开具有“a”属性集的文件。只有超级用户或拥有CAP_LINUX_IMMUTABLE功能的进程才能设置或清除该属性。不能修改具有“i”属性的文件:不能删除或重命名该文件,不能创建指向该文件的链接,也不能将数据写入文件。只有超级用户或拥有CAP_LINUX_IMMUTABLE功能的进程才能设置或清除该属性。

票数 6
EN

Server Fault用户

发布于 2012-10-02 07:51:00

这在标准的POSIX unix文件权限中是不可能的。

您能完成的最好的工作是创建一个目录,用户可以删除他们拥有的任何文件,但不能删除其他用户的文件。

代码语言:javascript
复制
chmod 1775 /directory

更新:您可以使用SELinux或Apparmor获得更好的控制,但通过这种方法,您必须为文件上的进程授予权限。

更新:您可以选择对单独的文件使用系统只追加标志。不是所有文件系统: chattr +一个文件名

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/433934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档