Filesystems
A filesystem structures the storage medium, so that an application can use it to store data. Filesystems store data in the form of files. Filesystems often belong to an operating system in the form of a driver.
Throughout the years, filesystems recived more features and got more reliable.
| Feature | Gen 1 | Gen 2 | Gen 3 | Gen 4 |
|---|---|---|---|---|
| Files | X | X | X | X |
| Folders | X | X | X | |
| Ownership | X | X | ||
| Permissions | X | X | ||
| Journaling | X |
The fifth generation of filesystems bring a lot more feature for more managebility, expandability, redundancy and resilliancy. This way, data is easier to manage, while at the same time being more protected to human errors and environmental errors. These features include:
- Built in Volume Management
- Checksums per block
- Self-healing RAID
- Atomic COW snapshots
- Asynchronous replication
- Far-future scalability
Windows Filesystems
Section titled “Windows Filesystems”Windows knows 4 types of filesystems. Each having its own strong and weak points. Those are:
- FAT
- FAT32
- NTFS
- ReFS
FAT/FAT32
Section titled “FAT/FAT32”File Allocation Table and File Allocation Table 32 have the most limits. With having a maximum file size of 4 Gigabytes and having no file security. It also places all blocks of a file randomly on the disk. This results in longer seek time for finding files. Defragmenting helps with this, by placing data blocks on more logical places. However, this is not a problem on solid state disks.
New Technology File System mitigates almost all these limitations. It supports enormous volumes of up to 256 TiB (and even 8 PiB on Server 2019 and up), while also adding features like:
- Journaling
- Filesecurity bt using ACL’s
- Sparse files: also called thin-provisioning
- Compression options
- Copy on Write (Volume Shadow Copy) → previous versions
- Encryption
Resilient File System is even more reliable and can have even bigger volumes of up to 35 PiB.
As of right now, not all features of NTFS are available on ReFS, but more and more are.
Permissions & Rights
Section titled “Permissions & Rights”Permissions are rules that define what actions a user can perform on a file or folder, like: Read, Write, Modify and Full Control. There are two types of permission editors. Standard, witch only has:
- Full Control
- Modify
- Read & Execute
- Read
- Write
- List Folder Contents
and Advanced, with witch you can set more detailed permissions, like: write extended attributes or take ownership.
You can also set inheritance, with witch a file or folder recieves its permissions from a parent folder.
You can also set share permissions, witch defines what permissions users have when they access the files over the network, oppose to directly on the machine.
Rights define what actions a user or group can perform on a system- or domain-wide level, like changing time settings, using a printer or turning of the compouter.
The NTFS permissions a file or folder have will follow it when they are moved within a partition. However, when you instead copy the file or folder, or move it to a different partition, it will recieve it’s NTFS permissions of the target.
Allow & Deny
Section titled “Allow & Deny”Deny allways comes before allow. Also, the more explicit permissions come first.
| DACL Order |
|---|
| Explicit deny |
| Explicit allow |
| Parent deny |
| Parent allow |
| Grandparent deny |
| Grandparent allow |
Furthermore, local permissions stack, while network permissions are based on most restrictive apply.
For example, if a user is allowed to only read and is also member of a group, that is allowed full controll, the user has full controll. (With the exception of an explicid deny being in place) But if the user has full controll, but the share only read, then read is all the user gets.
Security ID’s worden gebruikt om te controleren of een gebruiker