将lockfile传输给另一个unix用户

时间:2012-01-03 08:57:50

标签: unix lockfile

如果作为(非root用户)用户A运行的进程在磁盘上创建了一个锁定文件以保留共享资源,那么将该锁定无缝“切换”到另一个进程(以用户B身份运行)的方法是什么,使用共享资源,最后在完成后删除锁文件?

在理想的解决方案中(按优先级顺序排列):

  1. 没有人,但用户A和B可以修改锁定文件。
  2. 只有用户A才能创建锁文件。
  3. 用户A可以选择在创建锁定文件之后但在切换之前移除锁定文件。
  4. 用户A还可以选择在切换后删除锁文件。
  5. 到目前为止我想到的两个选项是

    • 锁定文件位于包含用户A和B的用户组可写的目录中。这主要有效,但不符合要求2,如果我在类似的“锁定消费者”角色中添加用户C,则会变得不那么令人满意用户B.
    • 锁定文件位于设置了粘滞位的目录中,用户A通过使其成为用户B拥有的预先存在的文件的硬链接来创建它。因此,锁定文件始终由用户B拥有。我喜欢这样做不需要专门的用户组,但我希望满足2-4的要求。

0 个答案:

没有答案