The FAT (File Allocation Table) file system was originally developed by Microsoft for MS-DOS and Windows operating systems. It is a simple and lightweight file system that lacks some of the advanced features found in more modern file systems like NTFS or ext4.
One of the features that FAT does not support is file permissions. File permissions are a crucial aspect of Unix-like systems (including Linux) that control access to files and directories. They specify who can read, write, or execute files, and determine whether certain actions are allowed or restricted based on the user's permissions.
The absence of file permissions in the FAT file system is due to its design goals and historical context. When FAT was created, MS-DOS and Windows were primarily single-user operating systems, where security and user isolation were not significant concerns. As such, file permissions were not implemented in the FAT file system to keep it simple and efficient.
In contrast, Unix-like systems, including Linux, were designed as multi-user systems from the beginning, with a strong emphasis on security and permission control. Consequently, file systems like ext4, which is commonly used in Linux, include robust file permission features to ensure data security and user privacy.
It's worth noting that if you use a USB drive or an external storage device formatted with the FAT file system and connect it to a Linux system, the Linux kernel implements a default set of permissions when mounting the file system. These permissions are applied uniformly to all files and directories on the FAT file system and can be modified through mount options, such as umask, to control access permissions for the mounted drive. However, these permissions are not inherent to the FAT file system itself but rather imposed by the operating system handling the mount.