Sia il kernel che il filesystem hanno un ruolo. Le autorizzazioni sono archiviate nel filesystem, quindi deve esserci un posto dove archiviare le informazioni nel formato del filesystem. Le autorizzazioni vengono applicate e comunicate alle applicazioni dal kernel, quindi il kernel deve implementare le regole per determinare il significato delle informazioni archiviate nel filesystem.
Le "autorizzazioni per i file Unix" si riferiscono a un sistema di autorizzazioni tradizionale che prevede tre azioni (lettura, scrittura, esecuzione) controllate tramite tre tipi di ruolo (utente, gruppo, altro). Il compito del filesystem è di memorizzare 3 × 3 = 9 bit di informazioni. Il compito del kernel è interpretare questi bit come permessi; in particolare, quando un processo tenta un'operazione su un file, il kernel deve determinare, dato all'utente e ai gruppi su cui è in esecuzione il processo, i bit di autorizzazione del file e l'operazione richiesta, se consentire l'operazione. (Le "autorizzazioni per i file Unix" in genere includono anche bit setuid e setgid , che non sono autorizzazioni strettamente parlando).
I moderni sistemi unix possono supportare altre forme di autorizzazioni. La maggior parte dei moderni sistemi unix (Solaris, Linux, * BSD) supportano elenchi di controllo di accesso che consentono di assegnare autorizzazioni di lettura / scrittura / esecuzione per più di un utente e più di un gruppo per ciascun file. Il filesystem deve avere spazio per memorizzare queste informazioni extra, e il kernel deve includere il codice per cercare e usare queste informazioni. Ext2, reiserfs, btrfs, zfs e la maggior parte dei moderni formati di file system unix definiscono un posto dove archiviare tali ACL. Mac OS X supporta un diverso set di ACL che include autorizzazioni non tradizionali come "append" e "create subdirectory"; il formato del file system HFS + li supporta. Se montate un volume HFS + su Linux, questi ACL non verranno applicati poiché il kernel Linux non li supporta.
Al contrario, ci sono sistemi operativi e filesystem che non supportano il controllo degli accessi. Ad esempio, FAT e le varianti sono state progettate per sistemi operativi per utente singolo e supporti rimovibili e le sue autorizzazioni sono limitate a lettura / lettura-scrittura e nascosto / visibile. Queste sono le autorizzazioni imposte da DOS . Se monti un filesystem ext2 su DOS, non imporrà le autorizzazioni ext2. Al contrario, se si accede a un filesystem FAT su Linux, tutti i file avranno le stesse autorizzazioni.
Le versioni successive di Windows hanno aggiunto il supporto per più tipi di autorizzazioni. Il file system NTFS è stato esteso per archiviare quelle autorizzazioni extra. Se accedi a un filesystem con le autorizzazioni più recenti su un sistema operativo precedente, il sistema operativo non sarà a conoscenza di queste autorizzazioni più recenti e quindi non le imporrà. Al contrario, se si accede a un file system precedente con un sistema operativo più recente, non avrà le nuove autorizzazioni e spetta al sistema operativo fornire fallback sensibili.