As discussed in Understanding UNIX permissions and file types, each file has permission settings ("file mode") for:
- the owner / user ("
u"), - the owner's group ("
g"), and - everyone else ("
o").
As far as I understand, the owner of a file can always change the file's permissions using chmod. So can any application running under the owner.
What is the reason for restricting the owner's own permissions if they can always change them?
The only use I can see is the protection from accidental deletion or execution, which can be easily overcome if intended.
A related question has been asked here: Is there a reason why 'owner' permissions exist? Aren't group permissions enough? It discusses why the owner's permissions cannot be replaced by a dummy group consisting of a single user (the owner). In contrast, here I am asking about the purpose of having permissions for the owner in principle, no matter if they are implemented through a separate "u" octal or a separate group + ACLs.