10 . Файловые системы, поддерживаемые ОС Linux. Доступ к файлам в ОС Linux.
Файловая система - это методы и структуры данных, которые используются операционной системой для хранения файлов на диске или его разделе. О файловой системе также говорят, ссылаясь на раздел или диск, используемый для хранения файлов или тип файловой системы
Файловая система разделяется на несколько частей: файловая система root, состоящая из каталогов /bin, /lib, /etc, /dev и некоторых других, файловая система /usr, где хранятся различные программы и данные не подлежащие изменению, файловая система /var, где содержатся изменяемые файлы (такие как log файлы и др.) и файловая система /home, которая состоит из личных каталогов пользователей. Разделение может существенно отличатся от выше указанного в зависимости от работы системного администратора и конфигурации аппаратного обеспечения.
Linux поддерживает несколько типов файловых систем:
- minix - Считается самой старой и самой надежной файловой системой, но достаточно ограниченной в своих возможностях (у файлов отсутствуют некоторые временные параметры, длина имени файла ограничена 30-ю символами) и доступных объемах (максимум 64 Мб на одну файловую систему).
- ext2 - Наиболее богатая функциональными возможностями файловая система из семейства совместимых с Linux. Она разработана с учетом совместимости с последующими версиями, поэтому для установки новой версии кода системы не требуется устанавливать ее заново.
- msdos - Обеспечивается совместимость с системой MS-DOS (а также OS/2 и Windows NT).
- umsdos - Расширяет возможности драйвера файловой системы MS-DOS для Linux таким образом, что при работе в Linux, имеется возможность работы с именами файлов нестандартной длины, просмотра прав доступа к файлу, ссылок, имени пользователя, которому принадлежит файл, а также оперирование с файлами устройств. Это позволяет использовать обычную систему MS-DOS, так, как если бы это была система Linux. Таким образом, исключается необходимость создания отдельного раздела для Linux.
- iso9660- Стандартная файловая система для CD-ROM. Довольно популярное развитие стандарта CD-ROM, выполненное Rock Ridge'м, которое обеспечивает автоматическую поддержку имен файлов нестандартной длины.
- nfs - Сетевая файловая система, обеспечивающая разделение одной файловой системы между несколькими компьютерами для предоставления доступа к ее файлам со всех машин.
- isofs – Позволяет подключать ISO образы.
- idf – Для dvd дисков.
Доступ к файлам в ОС Linux.
Каждый пользователь в системе имеет свой уникальный идентификационный номер (user-ID, или UID). Также пользователи могут объединяться в группы, которые в свою очередь имеют group-ID, или GID. Чтобы узнать свой UID и GID, т.е. уникальный номер пользователя и номер группы, к которой Вы принадлежите, необходимо ввести команду id:
[dmitry@localhost
dmitry]$id
uid=502 (dmitry) gid=503(users)
groups=503(users)
Права
доступа к файлам.
В свою очередь файлы имеют двух владельцев: пользователя (user owner) и группу пользователей (group owner). Для каждого файла есть индивидуальные права доступа, которые разбиты на три группы:
1. Доступ для пользователя-владельца файла (owner).
2. Доступ для группы-владельца файла (group).
3. Доступ для остальных пользователей (others).
Для каждой категории устанавливаются три вида доступа: (x) - право на запуск файла, (r) - право на чтение файла, (w) - право на изменение
(редактирование) файла.
Для того, чтобы увидеть права доступа к файлам необходимо ввести
команду ls с ключом -l:
[dmitry@localhost
dmitry]$ls
-l /home/file.tmp
-rwxr-xr--
1 dmitry users 33 Dec 1 00:38 file.tmp
Для данного примера
мы видим, что владелец имеет права на чтение, запись, и выполнение (первые три
буквы rwx), группа пользователей может лишь читать и
выполнять этот файл (следующие три r-x), ну а остальные
пользователи могут только читать данный файл (последние символы r--).
T-бит, SUID и SGID
Наиболее
внимательные пользователи быстро замечают, что помимо стандартных "rwx"
значений существуют еще и буквы "s" и
"t". В действительности, битовая маска прав доступа
к файлам содержит 4 группы по 3 бита в
каждой. Таким образом, команда chmod 755 это всего лишь краткая запись полной формы команды: chmod 0755.
t-бит обычно
используется с каталогами.
Обычно, когда t-бит
для каталога не установлен, файл в данном каталоге может удалить любой пользователь, имеющий
доступ на запись к данному файлу. Устанавливая t-бит на
каталог мы меняем это правило таким образом, что удалить файл из каталога может
только владелец этого каталога или файла.
Установить t-бит
можно при помощи команд chmod a+tw
somefile или chmod 1777 somefile.
Атрибуты SUID и SGID
позволяют изменить права пользователя при запуске на выполнения файла, имеющего
эти атрибуты.
Запускаемая программа получает права доступа к системным
ресурсам на основе прав доступа пользователя, запустившего программу. Установка
же флагов SUID и SGID изменяет это правило таким образом, что назначает права доступа к системным ресурсам исходя из прав доступа
владельца файла. Т.е. запущенный исполняемый файл, которым владеет суперпользователь, получает права доступа к системным
ресурсам на уровне суперпользователя (фактически
неограниченные). При этом установка SUID приведет к наследованию прав
владельца-пользователя файла, а установка SGID -владельца-группы.