Что нужно знать
Желательно, чтобы читатель знал, как зарегистрироваться в системе, перейти в другой каталог и отредактировать файл в текстовом редакторе.
Чтобы запускать CGI–сценарии из главы 29, нужно располагать инсталлированным Web–сервером и иметь право выполнять CGI–сценарии.
Соглашения, принятые в книге
В книге употребляются следующие обозначения и шрифтовые выделения:
[Ctrl+клавиша] | Означает нажатие указанной клавиши одновременно с клавишей [Ctrl]; например, [Ctrl+O] — это указание одновременно нажать клавиши [Ctrl] и [О] |
Courier New |
Применяется во всех листингах сценариев, а также для обо значения результатов выполнения команд |
Courier New |
Используется для выделения командной строки |
В первых двух частях книги можно встретить примечания наподобие следующего:
В Linux…
Они служат для того, чтобы кратко описать различия между синтаксисом рассматриваемой команды в BSD/Linux и System V.
Приводимые в книге сценарии протестированы в Linux (Red Hat) и в AIX. Не которые сценарии протестированы в системе Data Generals.
ЧАСТЬ 1
Интерпретатор shell
ГЛАВА 1
Файлы и права доступа к ним
Если вы не хотите, чтобы кто угодно получал доступ к вашим файлам, изучите назначение битов режима. Благодаря им можно управлять доступом к файлам и каталогам, а также указывать тип доступа к создаваемым файлам. Это лишь небольшая часть системы безопасности в 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 |
Имя файла |