Про це можна прочитати, наприклад, у wikipedia. Уривок:
Стандарт ієрархії файлової системи (FHS) визначає основні каталоги і їх вміст в операційних системах Linux. Здебільшого це формалізація та розширення традиційної ієрархії файлових систем BSD.
FHS підтримується Linux Foundation, неприбутковою організацією, що складається з основних постачальників програмного забезпечення та обладнання, таких як HP, Red Hat, IBM і Dell. Поточна версія 3.0, випущена 3 червня 2015 року.
Наочне зображення із коротким описом:
По суті, Linux розділив структуру каталогів на основі функції того, що потрібно зробити систему максимально захищеною з мінімальною кількістю необхідних дозволів. Інакше комусь доведеться робити багато робіт, які можна уникнути.
Пам’ятайте, що Unix та Linux, де створені як багатокористувацькі системи та Windows, були створені для одного користувача. Все інше можна пояснити з цієї ідеї. Ви можете пояснити кожен каталог, думаючи про те, що він багатокористувацький і захищений.
3 приклади:
Ви побачите, що файли та каталоги, які є лише адміністраторами, зібрані в одному каталозі: s в /sbin
і /usr/sbin
і /usr/local/sbin
означає. Звичайний користувач навіть не може запускати програми, які є там. Файли, які може запустити звичайний користувач, знаходяться в / bin, / usr / bin, / usr / local / bin, залежно від того, де він найбільш логічно повинен перебувати. Але якщо вони лише адміністратори, вони повинні перейти до s
версії цього каталогу. Існує відома утиліта під назвою fuser
. Ви можете вбивати процеси за допомогою нього. Якщо звичайний користувач міг би скористатися цими (ними), він зможе вбити ваш сеанс.
Те саме стосується /home
: / home / user1 є власністю user1. / home / user2 є власністю user2. user2 не має жодної справи, яка б робила речі в будинку user1 (і навпаки, правда також: user1 не має жодної справи, яка б робила речі в будинку user2). Якщо всі файли знаходитимуться в / домі без імені користувача під ним, ви повинні будете давати дозволи на кожен файл і оцінювати, чи комусь дозволено писати / видаляти ці файли. Кошмар, якщо у вас є десятки користувачів.
Доповнення щодо бібліотек.
/lib/
, /usr/lib/
та /usr/local/lib/
є оригінальними місцями, від того, як існували багатолібкові системи та існували для запобігання злому. /usr/lib32
, /usr/lib/64
, /usr/local/lib32/
, /usr/local/lib64/
Є 32- / 64-бітові мультібібліотечние винаходи.
Це не статичне поняття жодним чином. Інші аромати Linux підкоригували цю програму. Наприклад; в даний час ви побачите, що debian і Ubuntu сильно змінюються в макеті FHS, оскільки SSD краще вибирати лише з файлами, які читаються. Існує рух до нової верстки, де файли розбиваються на каталог "лише для читання" та каталог / групу "для запису", тому ми можемо мати кореневий розділ, який можна встановити лише для читання (розділ для ssd) та для запису (sata hdd). Нова директорія, яка використовується для цього (не на зображенні), є /run/
.