我正在尝试实现一个文件。每个事件只会在文件中附加一行。到目前为止,这是毫无疑问的。困难的部分是几个用户应该能够向该文件添加条目,但没有人应该能够修改或删除现有文件。我能以某种方式使用文件访问权限强制执行此操作吗?我正在使用Linux。
THX
答案 0 :(得分:15)
在linux上,您可以选择使用system append-only标志。这并非在所有文件系统上都可用。
使用chattr实用程序设置此属性,您应该查看手册页。只有root才能设置此属性。
在Ubuntu上你可能最终会这样做: sudo chattr + a filename
答案 1 :(得分:1)
经典权限,读取,写入和执行不会让你到那里。如果您具有写入权限,则可以删除该文件及其中的所有行。
您需要某种程序来仲裁文件访问权限。一种方法是打开一个fifo并让生产者写入fifo。如果写入不是太大(我的linux盒子上的4k写入是原子的),不同的写入将不会混合。通过使消费者过程具有生产者没有的特权,生产者将无法看到最终结果。
您可以使用类似syslog的内容来执行此操作。