Ta interpretacja uprawnień sięga wczesnych systemów plików Unix. Na początku były tylko pliki. (No cóż, urządzenia i rury i ... ale próbuję tu opowiedzieć historię, nie być w 100% ściśle dokładne; poza tym wszystko to dotyczy urządzeń i rur i wszystkiego innego, ponieważ wszystko jest plikiem, nawet katalogi).
Katalogi to tylko pliki używane przez system plików do przechowywania metadanych opisujących drzewo katalogów i zawarte w nim pliki. Każdy plik w katalogu został opisany prostą strukturą danych, która zawierała miejsce na nazwę pliku (pierwotnie 14 znaków, IIRC) wraz z numerem i-węzła, w którym dane były przechowywane, rozmiarem pliku, znacznikami czasu i słowem uprawnień . Każdy katalog zaczynał się od dwóch wpisów o nazwach .i .., pierwszy wskazujący na i-węzeł tego samego katalogu, a drugi na i-węzeł jego katalogu nadrzędnego.
Słowo zezwoleń zawierało dziewięć bitów, aby opisać sposób traktowania właściciela, innych członków tej samej grupy i świata. Trzy bity dla każdej flagi, czy dany użytkownik może odczytać, zapisać lub wykonać plik. (Możesz zauważyć, że w 16-bitowym słowie uprawnień jest jeszcze pięć bitów, które ignoruję. W końcu przypisano im znaczenie, ale to nie ma znaczenia dla tej części historii.) (Również ta interpretacja dziewięciu bity pozostały prawie takie same we wszystkich potomkach wczesnego Uniksa, w tym Linuksa.)
Tak więc, jeśli katalog jest tak naprawdę szczególnym rodzajem pliku i jest opisany wpisem w jakimś katalogu, to oczywiście ma również bity uprawnień, a te bity prawdopodobnie coś znaczą. Ale pytanie brzmi, co dokładnie. Najłatwiejszym sposobem przypisania znaczenia tym bitom jest nie zmiana ich znaczenia. I to jest zasadniczo to, co zostało zrobione.
Tak więc bit odczytu oznacza, że użytkownik może odczytać sam katalog. To klasycznie daje czytelnikowi dostęp do nazwy pliku, znaczników czasu, rozmiaru i numeru i-węzła danych każdego pliku. W szczególności, dzięki rzestawowi możesz lszobaczyć nazwy wszystkich plików w katalogu, ale to nie wystarczy, aby otworzyć (lub w jakikolwiek sposób wykorzystać) dowolny z wymienionych plików.
Bit wykonania oznacza, że użytkownik może „wykonać” katalog. Ponieważ katalogi są wyjątkowe, wykonanie naprawdę oznacza wyszukanie pozycji według nazwy i użycie jej. Oznacza to, że możesz spróbować otworzyć pliki, jeśli xjest ustawione, ale bez rciebie nie możesz odkryć ich nazw. Oczywiście uprawnienia do żądanego pliku również wpływają na dostęp, więc nawet xw katalogu nie będziesz w stanie odczytać pliku, chyba że on również ci oferuje r.
Bit zapisu oznacza, że użytkownik może pisać do katalogu, ale oczywiście pośredniczy tylko sam system plików. Oznacza to, że za pomocą wzestawu możesz tworzyć nowe pliki w tym katalogu lub edytować wpisy katalogu istniejących plików. Ale bez xzestawu nie można używać żadnych plików i bez rnich też nie można ich zobaczyć.
Ponieważ w Unixie i jego potomkach ewoluowały bardziej skomplikowane modele tożsamości użytkownika, te same podstawowe opisy pozostały niezwykle niezmienione.
Krótko mówiąc, roznacza to, że możesz zobaczyć jego zawartość, xoznacza, że możesz z niej korzystać i woznacza, że możesz ją modyfikować nawet dla katalogów.