Они служат для того, чтобы кратко описать различия между синтаксисом рассматриваемой команды в BSD/Linux и System V.
Приводимые в книге сценарии протестированы в Linux (Red Hat) и в AIX. Не которые сценарии протестированы в системе Data Generals.
ЧАСТЬ 1
Интерпретатор shell
Файлы и права доступа к ним
Если вы не хотите, чтобы кто угодно получал доступ к вашим файлам, изучите назначение битов режима. Благодаря им можно управлять доступом к файлам и каталогам, а также указывать тип доступа к создаваемым файлам. Это лишь небольшая часть системы безопасности в UNIX и Linux. Но на данный момент нас интересует не система безопасности в целом, а только та ее часть, которая имеет отношение к файлам и каталогам.
В этой главе рассматриваются следующие темы:
• права доступа к файлам к каталогам;
• биты смены идентификаторов {SUID и SGID);
• изменение владельца файла или каталога с помощью команд chown и chgrp;
• команда umask;
• символические ссылки.
Файл принадлежит создавшему его пользователю, а также группе, членом которой данный пользователь является. Владелец файла может самостоятельно определять, кому позволено производить запись в файл, читать его содержимое, а также запускать файл на выполнение, если он является исполняемым.
Примечание:
Пользователь root (системный администратор) может отменить практически все ограничения, заданные рядовым пользователем.
Доступ к созданному файлу может осуществляться тремя способами:
• Путем чтения, при этом содержимое файла отображается на экране.
• Путем записи, при этом содержимое файла редактируется или удаляется.
• Путем выполнения, если файл содержит сценарий интерпретатора shell либо является программой.
Пользователи, имеющие доступ к файлу, делятся на три категории:
• Владелец файла, создавший его.
• Члены группы, к которой относится владелец файла.
• Остальные пользователи.
1.1. Информация о файлах
После создания файла система сохраняет о нем всю информацию, которая может когда‑либо понадобиться, в частности:
• раздел диска, где физически находится файл;
• тип файла;
• размер файла;
• идентификатор владельца файла, а также тех, кому разрешен доступ к файлу;
• индексный дескриптор;
• дата и время последнего изменения файла
• режим доступа к файлу.
Рассмотрим типичный список файлов, полученный в результате выполнения команды ls -l.
$ ls -l
total 4232
-rwxr‑xr‑x | 1 root | root | 3756 Oct | 14 | 04:44 | dmesg |
-r‑xr‑xr‑x | 1 root | root | 12708 Oct | 3 | 05:40 | ps |
-rwxr‑xr‑x | 1 root | root | 5388 Aug | 5 | 1998 | pwd |
Информацию, предоставляемую командой ls -l, можно разбить на следующие части:
total 4232 | Суммарный размер файлов в каталоге |
-rwxr‑xr‑x | Режим доступа к файлу, отображаемый в виде строки из десяти |
символов. Первый символ ('-') указывает на то, что текущая запись | |
относится к файлу (если на его месте стоит символ d, значит, | |
запись относится к каталогу). Остальные символы делятся на три | |
категории: | |
rwx — права владельца (первая триада); | |
r‑x — права группы (вторая триада); | |
r‑x — права остальных пользователей (последняя триада). | |
Символ r означает право чтения, символ w — право записи, | |
символ x — право выполнения, символ ' — ' -oтсутствие соответ- | |
ствующего права. Система разрешений подробно описана ниже | |
1 | Количество жестких ссылок на файл |
root | Идентификатор владельца файла |
root | Идентификатор группы, в которую входит владелец файла |
3756 | Размер файла в байтах |
Oct 14 04:44 | Дата и время последнего изменения файла |
dmesg | Имя файла |
1.2. Типы файлов
В начале строки режима может стоять не только символ ' — " или d, ведь в каталоге насчитывается до семи различных типов записей (табл. 1.1):
Таблица 1.1. Типы файлов
d | Каталог |
l | Символическая ссылка (указатель на другой файл) |
s | Сокет |
b | Специальный блочный файл |
с | Специальный символьный файл |
p | Файл именованного канала |
— | Обычный файл или, если выразиться точнее, ни один из файлов, перечисленных выше |