# is sappend flag broken?



## slowmok (Mar 3, 2020)

Hi everyone
I study FreeBD and got to the flags lesson.
The sappend flag should only allow adding content and not be deleted or changed.
I can’t edit it, I can add something to it - it works correctly.
But I can also safely delete it through rm or move it through mv.
What did I misunderstand in the description of the flag, or is it broken?

```
# sysctl kern.securelevel
kern.securelevel: 3

# uname -a
FreeBSD test 12.1-RELEASE-p2 FreeBSD 12.1-RELEASE-p2 GENERIC  amd64

# id
uid=0(root) gid=0(wheel) groups=0(wheel),5(operator)

# ls -alo
-rw-r--r--  1 root  wheel  sappnd,uarch  4 Mar  3 13:22 sappend
-rw-r--r--  1 root  wheel  schg,uarch   12 Mar  3 12:51 schg
-rw-r--r--  1 root  wheel  sunlnk,uarch  4 Mar  3 12:57 sunlnk

# rm sappend
override rw-r--r-- root/wheel sappnd,uarch for sappend? y

# ls -alo
-rw-r--r--  1 root  wheel  schg,uarch   12 Mar  3 12:51 schg
-rw-r--r--  1 root  wheel  sunlnk,uarch  4 Mar  3 12:57 sunlnk
```
Thx Thanks for answer


----------



## bds (Mar 5, 2020)

The unlnk flags prevent removal/renaming of files. Most uses of appnd will be in conjunction with a corresponding unlnk flag. Potentially a file could be referenced (via ln) from multiple directories (which themselves may have immutable flags set), so there may be use cases where just append makes sense.


----------



## slowmok (Mar 6, 2020)

I see. Thank you


----------

