Możesz przeczytać o tym na przykład na Wikipedii. Fragment:
System plików Hierarchy Standard (FHS) definiuje główne katalogi i ich zawartość w systemach operacyjnych Linux. W przeważającej części jest to formalizacja i rozszerzenie tradycyjnej hierarchii systemu plików BSD.
FHS jest prowadzony przez Linux Foundation, organizację non-profit składającą się z głównych dostawców oprogramowania i sprzętu, takich jak HP, Red Hat, IBM i Dell. Obecna wersja to 3.0, wydana 3 czerwca 2015 r.
Wizualna reprezentacja z krótkim opisem:
Zasadniczo Linux podzielił strukturę katalogów w oparciu o funkcję tego, co jest potrzebne, aby system był tak bezpieczny, jak to możliwe, przy minimalnej liczbie wymaganych uprawnień. W przeciwnym razie ktoś będzie musiał wykonać dużo pracy, której można uniknąć.
Pamiętaj, że Unix i Linux zostały stworzone jako systemy dla wielu użytkowników, a system Windows został stworzony dla jednego użytkownika. Wszystko inne można wyjaśnić na podstawie tego pomysłu. Możesz wyjaśnić każdy katalog, gdy myślisz, że jest to wiele użytkowników i bezpieczeństwo.
3 przykłady:
Widać, że pliki i katalogi, które są tylko dla administratorów gromadzone są w tym samym katalogu: S w /sbin
i /usr/sbin
a /usr/local/sbin
oznacza system. Normalny użytkownik nie może nawet uruchomić programów, które się tam znajdują. Pliki, które normalny użytkownik może uruchomić, znajdują się w / bin, / usr / bin, / usr / local / bin w zależności od tego, gdzie powinien najbardziej logicznie się znajdować. Ale jeśli są tylko administratorami, powinni przejść do s
wersji tego katalogu. Istnieje znane narzędzie o nazwie fuser
. Za jego pomocą możesz zabijać procesy. Gdyby zwykły użytkownik mógł z nich skorzystać, byłby w stanie zabić twoją sesję.
To samo dotyczy /home
: / home / użytkownik1 jest własnością użytkownika1. / home / użytkownik2 jest własnością użytkownika 2. użytkownik 2 nie ma działalności, która robi rzeczy w domu użytkownika 1 (i odwrotnie jest również prawdą: użytkownik 1 nie ma działalności, która robi rzeczy w domu użytkownika 2). Jeśli wszystkie pliki będą w / home bez nazwy użytkownika pod nim, musisz udzielić uprawnień do każdego pliku i ocenić, czy ktoś może zapisać / usunąć te pliki. Koszmar, jeśli masz dziesiątki użytkowników.
Dodatek dotyczący bibliotek.
/lib/
, /usr/lib/
i /usr/local/lib/
są oryginalnymi lokalizacjami, zanim istniały systemy multilib i istnieją, aby zapobiegać uszkodzeniom. /usr/lib32
, /usr/lib/64
, /usr/local/lib32/
, /usr/local/lib64/
Są 32- / 64-bitowe multilib wynalazki.
W żadnym wypadku nie jest to koncepcja statyczna. Inne smaki Linuksa poprawiły ten układ. Na przykład; obecnie zobaczysz, że debian i Ubuntu bardzo się zmieniają w układzie FHS, ponieważ lepiej jest SSD z plikami tylko do odczytu. Nastąpił ruch w kierunku nowego układu, w którym pliki są dzielone na „tylko do odczytu” i „zapisywalny” katalog / grupę, dzięki czemu możemy mieć partycję główną, którą można zamontować tylko do odczytu (partycja na ssd) i zapisywalną (sata hdd). Nowy katalog, który jest używany do tego (nie w obrazie) to /run/
.