Linux и UNIX: программирование в shell. Руководство разработчика. - страница 3

стр.

В книгу включены два приложения: приложение А, содержащее таблицу кодов ASCII, и приложение Б, в котором представлен ряд интересных shell–команд.

Что нужно знать

Желательно, чтобы читатель знал, как зарегистрироваться в системе, перейти в другой каталог и отредактировать файл в текстовом редакторе.

Чтобы запускать 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тсутствие соответ-