在不同用户之间传输文件:最佳策略?

在不同用户之间传输文件:最佳策略?

我有一个正在做一些事情的程序。它在用户A下运行。

其中一小部分是将文件传输到用户 B 主目录中的目录。传输是通过其所编写语言的 API 调用完成的,而不是通过 shell 命令的系统调用完成的。

现在我看到了多种方法来进行这种转移。

  • 以 root 身份运行该程序。
  • 将A和B放入同一组并调整目录所有权
  • sudo 程序
  • 通过系统调用和 sudo 进行移动
  • 将文件本地放在A中并进行外部传输(将问题外包)
  • ACL B的目录
  • ...

我认为这个要求很常见,因为通过 root 运行程序的品味很差。最常见的处理方法是什么?

编辑

A 的程序生成该文件。 B应该能够读取和删除它。

答案1

如果不想看到 A 用户的其他文件很重要,则创建一个单独的公共目录,两个用户都具有读写权限并将文件放在那里。

或者您可以在使用 inotifywatch 创建文件后立即复制/移动文件并 chown 到 B,这是一个示例,将其放入 cron 中

文件创建后自动复制到目的地

相关内容