gpt4 book ai didi

linux - 如何删除另一个用户使用 C 创建的文件?

转载 作者:太空宇宙 更新时间:2023-11-04 05:21:23 24 4
gpt4 key购买 nike

我有两个 C 代码,第一个代码称为“Producer”,我在用户“A”中运行它,代码创建一个文件。第二个代码名为“Consumer”,在用户“B”中运行,该代码读取“Producer”创建的文件,读取结束后需要删除该文件。用户“A”和“B”都在组“ABshare”中。该文件由具有权限 0660 的“生产者”创建。

当我在用户“A”中运行“生产者”代码时,文件会完美创建,当我在用户“B”中运行“消费者”时我可以读取此内容,但问题是我无法删除该文件。要删除文件,我尝试使用函数“remove ()”http://man7.org/linux/man-pages/man3/remove.3.html

当我在用户“A”或用户“B”中运行“生产者”和“消费者”时,“生产者”生成文件,“消费者”可以读取和删除该文件。

为什么在不同用户下运行“生产者”和“消费者”时无法删除文件?我尝试将文件自己的文件从“A”修改为“B”,然后使用“消费者”代码删除他,为此我使用以下代码:更改c中的所有者和组,但我只能更改文件组而不是自己的文件组。

在手册页中阅读有关 chown 函数的信息:http://man7.org/linux/man-pages/man3/chown.3p.html我找到以下信息:“更改用户 ID 仅限于具有适当权限的进程。”

当“消费者”在“B”中运行时,如何向“消费者”代码授予“适当的权限”来更改用户 A 中的“生产者”创建的文件自己的文件?或者,当“生产者”和“消费者”在不同用户中运行时,如何删除“生产者”创建的文件?

请问有人可以帮助我吗?

谢谢!!!

最佳答案

就像 Wildplasser 所说,我所需要的只是向文件所在的目录授予正确的权限。在我的例子中,目录的新权限是0777。

关于linux - 如何删除另一个用户使用 C 创建的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41568614/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com