Операционная система UNIX - страница 24
Таблица 1.6. Имена некоторых специальных файлов устройств
Общий вид имени | Пример | Описание устройства, доступ к которому обеспечивается через файл |
---|---|---|
/dev/rmtn | /dev/rmt0 | Накопитель на магнитной ленте |
/dev/nrmtn | /dev/nrmt0 | Накопитель на магнитной ленте в режиме без перемотки назад по окончании работы |
/dev/rstn | /dev/rst1 | SCSI-накопитель на магнитной ленте |
/dev/cdn | /dev/cd0 | CD-ROM |
/dev/cdrom | ||
/dev/ttypn | /dev/ttyp12 | Псевдотерминал (подчиненный) |
/dev/ptypn | /dev/ptyp5 | Псевдотерминал (мастер) |
/dev/console | Системная консоль | |
/dev/tty | Синоним терминальной линии управляющего терминала для данного процесса | |
/dev/mem | Физическая оперативная память | |
/dev/kmem | Виртуальная память ядра | |
/dev/null | Нулевое устройство — весь вывод на него уничтожается, а при попытке ввода с этого устройства возвращается 0 байтов | |
/dev/zero | Нулевое устройство — весь вывод на него уничтожается, а ввод приводит к получению последовательности 0 |
Пользователи системы
Прежде чем вы сможете начать работу в UNIX, вы должны стать пользователем системы, т.е. получить имя, пароль и ряд других атрибутов.
С точки зрения системы, пользователь — не обязательно человек. Пользователь является объектом, который обладает определенными правами, может запускать на выполнение программы и владеть файлами. В качестве пользователей могут, например, выступать удаленные компьютеры или группы пользователей с одинаковыми правами и функциями. Такие пользователи называются псевдопользователями. Они обладают правами на определенные файлы системы и от их имени запускаются задачи, обеспечивающие ту или иную функциональность UNIX.
Как правило, большинство пользователей являются реальными людьми, которые регистрируются в системе, запускают те или иные программы, короче говоря, используют UNIX в своей работе.
В системе существует один пользователь, обладающий неограниченными правами. Это суперпользователь или администратор системы.
Каждый пользователь системы имеет уникальное имя (или регистрационное имя — login name). Однако система различает пользователей по ассоциированному с именем идентификатору пользователя или UID (User Identifier). Понятно, что идентификаторы пользователя также должны быть уникальными. Пользователь является членом одной или нескольких групп — списков пользователей, имеющих сходные задачи (например пользователей, работающих над одним проектом). Принадлежность к группе определяет дополнительные права, которыми обладают все пользователи группы. Каждая группа имеет уникальное имя (уникальное среди имен групп, имя группы и пользователя могут совпадать), но как и для пользователя, внутренним представлением группы является ее идентификатор GID (Group Identifier). В конечном счете UID и GID определяют, какими правами обладает пользователь в системе.
Вся информация о пользователях хранится в файле /etc/passwd. Это обычный текстовый файл, право на чтение которого имеют все пользователи системы, а право на запись имеет только администратор (суперпользователь). В этом файле хранятся пароли пользователей, правда в зашифрованном виде. Подобная открытость — недостаток с точки зрения безопасности, поэтому во многих системах зашифрованные пароли хранятся в отдельном закрытом для чтения и записи файле /etc/shadow.
Аналогично, информация о группах хранится в файле /etc/group и содержит списки пользователей, принадлежащих той или иной группе.
Атрибуты пользователя
Как правило, все атрибуты пользователя хранятся в файле /etc/passwd. В конечном итоге, добавление пользователя в систему сводится к внесению в файл /etc/passwd соответствующей записи. Однако во многих системах информация о пользователе хранится и в других местах (например, в специальных базах данных), поэтому создание пользователя простым редактированием файла /etc/passwd может привести к неправильной регистрации пользователя, а иногда и к нарушениям работы системы. Вместо этого при возможности следует пользоваться специальными утилитами, поставляемыми с системой. Более подробно мы поговорим об этом при обсуждении задач администрирования UNIX в конце этой главы.
Сейчас же наша задача — разобраться, какую информацию хранит система о пользователе. Для этого рассмотрим фрагмент файла