АСѾԐД Создание и продвижение сайтов

Fast Site Engine

CMS для сайтов

Создать сайт

Карта сайта
Переходим на Линукс
Политика конфиденциальности
Сделать сайт на основе Fast Site Engine

Установка
Документация
Список изменений
Лицензионное соглашение

Скачать
О движкеОбо мнеДеятельностьПортфолиоКонтакты

Файловая система Linux

Linux отличается от Windows архитектурой файловой системы Linux, на мой взгляд, в лучшую сторону. Структура фалов идёт не от диска C:\, а от корня /. Операционная система (ОС), конечно, стоит на одном из дисков, sda например, но Линукс очень гибкая операционная система и позволяет распределить системные и иные директории по разным дискам при надобности или установить ОС на RAID массив. Структура чётко разделена, все файлы лежат там где необходимо, например в директории /home - файлы пользователей с их настройками, в /lib (library) - системные библиотеки итп. везде порядок! И не может быть как в Wndows - чёрти где, зачастую, настройки программ.

Является плюсом отсутствие файла реестра в Linux, который добавляет тормозов Windows. Все настройки раскиданы по файлам, такое структурное решение работает куда лучше.

Отдельно стоит разъяснить про диски, если в Windows диски начинаются от C, D итд. И являются корнем, то в Linux главным считается корень системы / в котором уже живут все файлы, директории, диски и прочие устройства. Диски могут монтироваться в одну из директорий (папок): media, dev или mnt. Или куда угодно по желанию пользователя, читайте как примонтировать диск в Linux.

В media попадают динамически подключённые диски, точнее там находится устройство к которому пользователь может обращаться как к обычной директории, так же точка доступа появляется в файловом менеджере. Будет подписан как жёсткий диск, обращение к нему будет по названию /media/имя-пользователя/имя-диска (метка тома/label или длинный UUID (хеш-код) если метки нет.)

В dev попадают все накопительные устройства, которые именуются по порядку sda, sdb, sdc итд. Путь к устройству /dev/sda итд. (dev - devices - устройства). Диски именуются в зависимости от типа их подключения: NVMe - nvme0n1, SATA - sda, а IDE - hda.. т.е. sda - SATA DISK A и дальше в алфавитном порядке. Если буквы закончатся, диски начнут называться как /dev/sdaa, /dev/sdab...

mnt - точка (директория) для монтирования временных файловых систем. (обычно не используется)

Дисковые, флеш итп. устройства называются как sda, sdb, sdc итд. Дисковые разделы в устройстве (логические тома) как sda1, sda2 итп. С томами идёт непосредственная работа, они несут в себе файловые системы, файлы итп.

Имейте ввиду, в Линуксе регистр букв в названии файлов имеет значение, имена name.txt и naMe.txt являются разными файлами, в Виндовс одним и тем же файлом.

Файловая система для Линукс какую выбрать?

Если в Windows сейчас модная NTFS, то файловая система для Linux - это кошмар для новичка. Их очень много и статей по интернету много устаревших, всё что необходимо знать - самая последняя и актуальная EXT4. Её использует на своих серверах Google и ещё большая часть серверного мира, а там особые требования к надёжности. В текущее время есть ещё разработки, но EXT4 уже доказала свою надёжность и имеет пару преимуществ: она немного быстрее NTFS и она справляется с фрагментацией (разбросом частей файла по всему диску, где есть пустые ячейки и последующим скатыванием в тормоза всей системы) с учётом того, что диск не забит под завязку. Таким образом, нет необходимости в процессе дефрагментации диска - вот как здорово!

Как работает файловая система в Линукс

Файловая система в Линукс имеет несколько уровней: есть суперпользователь root, которому принадлежат директории системы. И есть пользователи, которые доступа к системе не имеют (только чтение и оно также может быть запрещено). По умолчанию, в сборках дистрибутивов типа Ubuntu, Kubuntu, Linux Mint итп. доступа к root извне нет, что повышает безопасность. Пользователи имеют свою директорию, в которой могут проводить свою деятельность, куда сохраняются их настройки - директория /home/имя-пользователя/... (на отдельном диске можно установить владельцем текущего пользователя и также пользоваться файлами или поставить разрешения (права) для всех пользователей, см. ниже). Таким простым и изящным образом решена проблема вирусов. Конечно присутствует вероятность, что пользователь поставит вредоносное приложение из вне или взломают репозиторий (то место, от куда загружаются и устанавливаются программы, заранее проверенные разработчиками и прошедшие контроль). Программе дадут минимально необходимы права для её установки и в дальнейшем она, будучи запущенной из под пользователя, не сможет редактировать системные файлы. В общем, забудьте об антивирусах и тормозах системы из-за постоянных проверок.

А ещё, ни один файл на диске не сможет запуститься/выполниться, если у него на это нет прав.

Права Линукс chmod

Любая директория/файл имеет владельца и группу (в определённые группы могут входить несколько пользователей). Их можно по правой клавиши мыши сменить в свойствах или в консоли.

Права chmod могут быть заданы как в числовом (абсолютном) формате (режиме), так и в буквенном (символьным).

Числовой:

sudo chmod -R 777 /media/$USER/diskname/needir

sudo - запросим права суперпользователя для данной операции, укажем программу которая это будет делать chmod. -R - чтоб скрипт прошёл рекурсивно по всем вложенным директориям и файлам. Укажем права, и директорию назначения.

Права 777: первая цифра - пользователь; вторая - группа; третья - остальные (в смысле не являющиеся пользователями системы, подключённые удалённо итп);

Цифры значат:

Буквенный:

sudo chmod -R a+rwx /media/$USER/diskname/needir

# Записи равноценны
sudo chmod -R +rwx /media/$USER/diskname/needir

sudo chmod -R ugo+rwx /media/$USER/diskname/needir

Первая или несколько указывают на то, для кого применяем права:
u - пользователь; g - группа; o - остальные; a - все;
Вторая, действие: - запрещение; + разрешение; = присвоение;
Третья или несколько сами права: r - чтение, w - запись, x - выполнение;

Найти все директории и назначить права по умолчанию:

find /media/$USER/diskname/needir -type d -exec chmod 755 {} \;

Найти все файлы и назначить права по умолчанию:

find /media/$USER/diskname/needir -type f -exec chmod 644 {} \;

В файловом менеджере можно включить колонку "права доступа" и там увидеть обозначение в буквенном режиме, что на мой взгляд неудобно, например: 777 выглядит как rwxrwxrwx; 755 = rwxr-xr-x; 644 = w-r--r--; т.е. пользователь 3 буквы: чтение, запись, выполнение; далее группа и остальные по 3 символа. Ещё перед директориями ставится флаг в файловом менеджере:

т.е на 1 символ больше в начале.. -rwxr-xr-x или drwxr-xr-x

У chmod есть ещё варианты, я их не привожу - этого достаточно.

Файловая система только для чтения Linux

Если файловая система доступна только для чтения в Linux, имеется ввиду если подключили диск, флешку итп и она не даёт записывать на диск, а только просматривать, то это значит, что мы упёрлись в права пользователя, что делать?

Если в файловом менеджере помечен серым пункт вырезать итп. (нет возможности вырезать директорию), та же проблема и то же решение.

Если в файловом менеджере есть выпадающее меню по правой кнопке - действия root. То нажмём на директорию в /media/имя-пользователя/ на имя-диска(label) и в выпадающем меню - Установить владельцем активного пользователя, всё, можно пользоваться этими файлами. (имейте ввиду, бывает глюк, права в свойствах не отображаются после смены, хотя по факту уже изменены - переоткройте файловый менеджер, чтоб он перечитал.)

В файловом менеджере Dolphin это расширение (в Linux Mint уже стоит) называется Root Actions Servicemenu. На другой сборке установить можно в Настройка Dolphin - Действия - Загрузить новые.. Ещё есть подобные, например, Simple Root Actions Menu. (Не пользуюсь, консоль же есть.)

Как всегда можно просто воспользоваться консолью:

sudo chown -R $USER:$USER /media/$USER/diskname

# Корректней, но группа может отдаваться пустой, она совпадает с пользователем 
sudo chown -R $USER:$GROUP /media/$USER/diskname

# Или разрешить запись всем
sudo chmod -R 777 /media/$USER/diskname

sudo - запросить права суперпользователя на текущую операцию
chmod - программа выполняющая операции
Далее параметры:
-R означает рекурсивно пройти по всем файлам и директориям внутри.
$USER, $GROUP - подставить данные текущего пользователя.
777 - установка разрешений на чтение и запись для владельца, группы и остальных пользователей.
В конце путь к файлу или дирректории, которая подвергнется экзекуции.





21.07.2026
21.8.7534 от С.М.З.Х.
Unix time: 1784615067
© Все права защищены 2004 - 2026