2010-08-30 87 views
10

我正试图实现一个文件。每个事件只是将一行添加到文件中。到目前为止,这是毫无疑问的。困难的部分是几个用户应该能够向该文件添加条目,但是没有人应该能够修改或删除现有的条目。我能以某种方式使用文件访问权限执行此操作吗?我正在使用Linux。仅追加文件

Thx

+0

我认为这是一个有点出乎'chmod':○ – Aren 2010-08-30 23:55:37

+0

相关链接:http://unix.stackexchange.com/questions/ 59864 /限制文件访问附加只 – nha 2014-12-16 21:34:57

回答

1

传统的权限,读取,写入和执行不会让你在那里。如果您有写入权限,则可以删除该文件及其中的所有行。

您需要某种程序来仲裁文件访问。一种方法是打开一个fifo并让生产者写入fifo。如果写入不太大(4k写入在我的Linux机器上是原子的),不同的写入不会混杂在一起。通过让消费者过程拥有生产者没有的特权,生产者将无法看到最终结果。

你可以使用像syslog这样的事情来做到这一点。

15

在linux上,您可以选择使用系统附加标志。这在所有文件系统上都不可用。

该属性是使用chattr实用程序设置的,您应该查看手册页。只有root可以设置这个属性。

在Ubuntu上你可能最终做: 须藤chattr命令+文件名

+0

试图通过首先删除文件并重新创建它,哪些不同(即截断)内容,这是不可能的(即使我拥有该文件所在的目录),可以确认这种行为? – humanityANDpeace 2016-08-14 09:00:07