Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_по_ОС / ТОС_10_Устройства_слайды.rtf
Скачиваний:
34
Добавлен:
03.03.2016
Размер:
3.27 Mб
Скачать

Пользователи системы

Прежде чем вы сможете начать работу в 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 может привести к неправильной регистра­ции пользователя, а иногда и к нарушениям работы системы. Вместо этого при возможности следует пользоваться специальными утилитами, постав­ляемыми с системой.

Пример: рассмотрим фрагмент файла /etc/passwd:

root:х:0:1:0000-Admin(0000):/:/bin/bash

daemon:x:l:l:0000-Admin(0000):/:

bin:x:2:2:0000-Admin(0000):/usr/bin:

sys:x:3:3:0000-Admin(0000):/:

admix:4:4:0000-Admin(0000):/var/adm:

lp:x:71:8:0000-lp(0000):/usr/spool/lp:

uucp:x:5:5:0000-uucp(0000):/usr/lib/uucp:

nobody:x:60001:60001:uid no body:/:

andy:x:206:101:Andrei Robachevsky:/home/andy:/bin/bash

Каждая строка файла является записью конкретного пользователя и имеет следующий формат:

name:passwd-encod: UID:GID: comments:home-dir:shell — всего семь полей (атрибутов), разделенных двоеточиями.

Рассмотрим подробнее каждый из атрибутов:

пате Регистрационное имя пользователя. Это имя пользова-

тель вводит в ответ на приглашение системы login. Для небольших систем имя пользователя достаточно произ­вольно. В больших системах, в которых зарегистриро­ваны сотни пользователей, требования уникальности заставляют применять определенные правила выбора имен.

passwd-encod Пароль пользователя в закодированном виде. Алгорит­мы кодирования известны, но они не позволяют деко­дировать пароль. При входе в систему пароль, который вы набираете, кодируется, и результат сравнивается с полем passwd-encod. В случае совпадения пользовате­лю разрешается войти в систему.

Даже в закодированном виде доступность пароля пред­ставляет некоторую угрозу для безопасности системы. Поэтому часто пароль хранят в отдельном файле, а в поле passwd-encod ставится символ 'х' (в некоторых системах '!').

Пользователь, в данном поле которого стоит символ '*', никогда не сможет попасть в систему. Дело в том, что алгоритм кодирования не позволяет символу '*' поя­виться в закодированной строке. Таким образом, совпа­дение введенного и затем закодированного пароля и '*' невозможно. Обычно такой пароль имеют псевдополь­зователи.

UID Идентификатор пользователя является внутренним представлением пользователя в системе. Этот иденти­фикатор наследуется задачами, которые запускает поль­зователь, и файлами, которые он создает. По этому идентификатору система проверяет пользовательские права (например, при запуске программы или чтении файла). Суперпользователь имеет UID = 0, что дает ему неограниченные права в системе.

GID Определяет идентификатор первичной группы пользователя. Этот идентификатор соответствует идентификато­ру в файле /etc/group, который содержит имя группы и полный список пользователей, являющихся ее членами. Принадлежность пользователя к группе определяет дополнительные права в системе. Группа определяет общие для всех членов права доступа и тем самым обеспечивает возможность совместной работы (например, совместного использования файлов).

comments Обычно, это полное "реальное" имя пользователя. Это поле может содержать дополнительную информацию, например, телефон или адрес электронной почты. Некоторые программы (например, flnger(l) и почтовые системы) используют это поле.

home-dir Домашний каталог пользователя. При входе в систему пользователь оказывается в этом каталоге. Как правило, пользователь имеет ограниченные права в других частях файловой системы, но домашний каталог и его подка­талоги определяют область файловой системы, где он является полноправным хозяином.

shell Имя программы, которую UNIX использует в качестве командного интерпретатора. При входе пользователя в систему UNIX автоматически запустит указанную про­грамму. Обычно это один из стандартных командных ин­терпретаторов /bin/sh (Bourne shell), /bin/csh (C shell) или в /bin/ksh (Korn shell), позволяющих пользователю вводить команды и запускать задачи. В принципе, в этом поле может быть указана любая программа, например, ко­мандный интерпретатор с ограниченными функциями (restricted shell), клиент системы управления базой дан­ных или даже редактор. Важно то, что, завершив выпол­нение этой задачи, пользователь автоматически выйдет из системы. Некоторые системы имеют файл /etc/shells, содержащий список программ, которые могут быть ис­пользованы в качестве командного интерпретатора.

Пароли

Наличие пароля позволяет защитить ваши данные, а возможно (если вы — суперпользователь) и всю систему в целом. Уточним: наличие хорошего пароля, потому что неверно выбранный пароль — серьезная брешь в безо­пасности системы. Поэтому мы более подробно остановимся на основных рекомендациях по выбору пароля.

Назначить или изменить пароль можно командой passwd(l).

Обычный пользователь может изменить свой пароль, администратор может назна­чить пароль любому пользователю.

Перед запуском программы passwd(l) стоит держать в голове общее прави­ло выбора пароля: пароль должен хорошо запоминаться и быть трудным для подбора.

Не рекомендуется записывать пароль, его необходимо запомнить. Собствен­ная фамилия, кличка любимой собаки, год и месяц рождения, безусловно, легки для запоминания, но такие пароли нетрудно подобрать.

Многие сис­темы предлагают пароль, сгенерированный самой системой. Предполагается, что он совершенно лишен какого-либо смысла, т. е. не содержит имен, на­званий и вообще каких-либо произносимых слов. Хотя система предлагает его в виде, удобном для запоминания, это не всегда помогает.

Если по правилам работы в вашей системе можно самостоятельно выбрать пароль, постарайтесь подобрать что-нибудь, что легче будет запомнить. Ни­когда не используйте примеры паролей, приводимые в книгах и руковод­ствах (чтобы не было искушения, в этой книге примеры не приводятся).

Многие системы требуют, чтобы пароль удовлетворял следующим требо­ваниям:

  • длина пароля не должна быть меньше шести символов;

  • пароль должен включать по крайней мере 2 алфавитных символа и одну цифру или специальный символ;

  • пароль должен содержать хотя бы 3 символа, не встречавшихся в вашем предыдущем пароле.

Пароли играют значительную роль в обеспечении безопасности системы. Общие рекомендации, адресованные прежде всего администраторам, мож­но свести к следующим:

  1. В системе не должно существовать незащищенных пользовательских входов. Это относится как к пользовательским входам без пароля, так и ко входам пользователей, покинувших систему. Если пользователь длительное время не работает в системе, удалите его запись или хотя бы защитите его вход символом '*' в поле пароля.

  2. Если ваша система допускает, установите минимальную длину пароля. В зависимости от требований безопасности в системе это число может варьироваться от 8 до 12.

3. Всегда меняйте пароль в следующих случаях:

  • если кто-либо узнал ваш пароль.

  • если пользователь больше не работает в вашей системе, все пароли, которые он знал, должны быть изменены.

  • если меняется администратор системы, должны быть изменены все системные пароли.

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

  1. Пароль администратора должен периодически меняться, независимо от обстоятельств.

  2. Это может показаться странным, но не стоит заставлять пользователей менять пароли чересчур часто. Скорее всего, в этом случае пользователь выберет не лучший пароль. Но менять пароли все же следует. Частота смены зависит от степени доступности вашей системы (изоли­ рованная станция, сервер с сетевым доступом, наличие сетевых экра­ нов).

Не преуменьшайте роль паролей в системе.

Стандартные пользователи и группы

После установки UNIX обычно уже содержит несколько зарегистрирован­ных пользователей. Перечислим основные из них (в разных версиях сис­темы UID этих пользователей могут незначительно отличаться):

Имя Пользователь

root Суперпользователь, администратор системы, UID=0.

Пользователь с

этим именем имеет неограниченные полномочия в системе. Для него не проверяются права доступа, и таким образом он имеет все "рычаги" для управления системой. Для выполнения большинства функций ад­министрирования требуется вход именно с этим именем. Следует отме­тить, что root — это только имя. На самом деле значение имеет UID. Любой пользователь с UID=0 имеет полномочия суперпользователя

adm Псевдопользователь, владеющий файлами системы

ведения журналов

bin Обычно это владелец всех исполняемых файлов,

являющихся командами UNIX

cron Псевдопользователь, владеющий соответствующими

файлами, от имени которого выполняются процессы

подсистемы запуска программ по расписанию

Соседние файлы в папке Лекции_по_ОС