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тсутствие соответ- |