It is known that most Linux systems have some sort of file permissions. But what is responsible for defining them? The operating system, the filesystem, other thing?
Firstly, I thought that it is the filesystem (ext3, NTFS etc.). This is suggested by this Wikipedia's article, as there are used phrases like "file system permissions". But surprisingly, in the article it is also mentioned that:
Unix-like and otherwise POSIX-compliant systems, including Linux-based systems and all macOS versions, have a simple system for managing individual file permissions, which in this article are called "traditional Unix permissions".
And that suggests that permissions are a thing managed by the operating system (at least POSIX-compliant systems, whatever that might exactly mean). This is also suggested by this linfo article on file permissions.
What is more, this Red Hat documentation on ACLs tells that:
The Red Hat Enterprise Linux kernel provides ACL support for the ext3 file system and NFS-exported file systems. ACLs are also recognized on ext3 file systems accessed via Samba.
what would suggest that ACLs – that is, a kind of file permissions – are somehow defined in the Linux kernel.
And I am confused about that.