rm(1) allows root to delete uchg/uappend files. Before unlinking, it checks
whether schg|sappend are set to skip the chflags() system call that clears
uchg and uappend.
It must also check whether uunlink|sunlink are set as they'd also make unlink()
PS: Can anyone explain to me the usefulness of letting root skip uchg/uappend?
FreeBSD and DragonFly are the only BSD's that do this.
I'm playing with a -F option to unset uchg/uappend/uunlink for any user. The
patch is available to anyone on request.
Fix: Attached patch successfully built and tested on RELENG_6 & -CURRENT sources.
Patch attached with submission follows:
For bugs matching the following criteria:
Status: In Progress Changed: (is less than) 2014-06-01
Reset to default assignee and clear in-progress tags.
Mail being skipped