web-dev-qa-db-ja.com

chattr + iaの「a」は何をしますか?

chattr +ia <filename>aは何をしますか?なぜaiと組み合わせて追加するのですか? 注:iは不変であることがわかっています

3
xenoterracide
_  The  letters  `acdeijstuADST'  select the new attributes for the files:
  append only (a), compressed  (c),  no  dump  (d),  extent  format  (e),
  immutable (i), data journalling (j), secure deletion (s), no tail-merg‐
  ing (t), undeletable (u), no atime updates (A),  synchronous  directory
  updates  (D),  synchronous  updates (S), and top of directory hierarchy
  (T).
_

chattrのマンページ から

このフラグが付いたファイルは、書き込み用に開くことができません。これにより、 truncate()unlink() などの潜在的に破壊的なシステムコールもブロックされます。

_$ touch foo
$ chattr +a foo
$ python
> file("foo", "w") #attempt to open for writing
[Errno 1] Operation not permitted: 'foo'
> quit()
$ truncate foo --size 0
truncate: cannot open `foo' for writing: Operation not permitted
$ echo "Appending works fine." >> foo
$ cat foo
Appending works fine.
$ rm foo
rm: cannot remove `foo': Operation not permitted
$ chattr -a foo
$ rm foo
_

このオプションは、ログファイル用に設計されています。

5
badp