fix*_*it7 2 filesystem permissions
我将 append-only 属性添加到文本文件中。
但是当我尝试使用 Geany 对其进行编辑时,我得到了不允许的操作。
但我可以使用echo new >> test.txt
它并附加。
我不明白什么?
因此,您可以使用以下命令在文件上设置 append-only 属性:
chattr +a test.txt
Run Code Online (Sandbox Code Playgroud)
并在诸如 Geany 之类的文本编辑器上编辑它不起作用......
这有点在意料之中,因为文本编辑器不会通过附加到文件来将其缓冲区保存到文件中,而是在完成编辑后重写文件。
虽然技术上可以让文本编辑器支持编辑仅附加文件,但实现起来并不容易,因为首先他们必须专门检测到这一点(使用等效的lsattr
命令),然后在兼容的模式下工作使用该设置,跟踪原始文件中有多少,然后在编辑文件时防止对这些行进行修改,并实现一个单独的例程来保存仅附加文件,这将打开文件进行附加并只写入在此编辑会话中添加的行。
这是文本编辑器的一个非常小众的用例,所以我真的不知道有任何文本编辑器实现了这一点,即使它在技术上是可能的......
append-only 属性并不是真正被应用程序使用的标志(换句话说,正常程序通常不会查询文件是否具有该属性集),而是作为一种安全措施,以防止错误破坏重要数据。
例如,此属性在日志文件中很有意义,其中 syslog 应用程序应该只附加到文件中,而不要覆盖或截断它。如果 syslog 应用程序(或其他操作日志文件的程序)有错误或配置错误,并且会触发破坏文件的操作,则设置此标志很有用。在这种情况下,该属性可以防止程序破坏重要数据,而只是简单地向行为不端的程序返回一个错误。
归档时间: |
|
查看次数: |
562 次 |
最近记录: |