Vasy::100:20:Vasiliy Pupkin,tel.30-30-30:/home/vasy:/bin/bash




Лабораторная работа №4

По курсу «Операционные системы».

Управление пользователями в ОС Unix/Linux.

Даны сведения об управлении пользователями системы и использовании текстового редактора vi для редактирования файлов с информацией о пользователях.

Рассмотренные команды: vi, vipw, useradd, userdel, passwd, who, pwck

Система контроля прав доступа является неотъемлемой частью ОС UNIX. Помимо обеспечения возможности многопользовательской работы, эта система используется как один из возможных путей повышения безопасности серверов в сети. Запуск серверных программ осуществляется администратором от имени пользователя, имеющего права доступа только к каталогам, необходимым для работы данной программы. В случае сбоя в работе программы (как правило искусственно инициированного злоумышленником) она не сможет получить доступ к другим файлам и каталогам, благодаря чему злоумышленник не сможет получить контроль над системой.

Файлы /etc/passwd, /etc/group, etc/shadow

 

В файле /etc/passwd содержится список пользователей системы. В процессе регистрации пользователя система обращается к данному файлу в поисках идентификатора пользователя, а также с целью проверки пароля. Каждая строка файла описывает одного пользователя и содержит семь полей, разделенных двоеточиями:

- регистрационное имя (login)

- зашифрованный пароль (если в системе используется файл скрытых паролей – см. ниже, то это поле остается пустым)

- идентификатор пользователя

- идентификатор группы

- сведения о пользователе (например полное имя, используется для сведения администратора)

- домашний каталог пользователя

- командный интерпретатор

Примеры записей файла /etc/passwd (в системе используется файл скрытых паролей):

 

Root::0:0:administrator:/:/bin/bash

vasy::100:20:Vasiliy Pupkin,tel.30-30-30:/home/vasy:/bin/bash

 

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

В старых версиях системы UNIX в поле зашифрованного пароля хранился пароль, зашифрованный с использованием алгоритма необратимого шифрования DES (хэш-код). При регистрации пользователя в системе введенный пароль зашифровывается и сравнивается с хранящимся хэш-кодом, в случае совпадения доступ к системе разрешается.

Алгоритма для обратного преобразования хэш-кода в исходный пароль не существует, но злоумышленник, получивший доступ к хэш-коду, может узнать пароль путем последовательного перебора (всех возможных сочетаний символов, или по словарю) и сравнения результата DES-кодирования с хэш-кодом. Поэтому в современных версиях UNIX пароли хранятся в специальном файле /etc/shadow, для защиты которого принимаются специальные меры.

Идентификатор пользователя (UID) – целое число. Для обеспечения совместимости со старыми версиями ОС рекомендуется, чтобы значение UID не превышало 32767, в современных системах оно может быть больше. Пользователь с идентификатором 0 является администратором системы и имеет особые полномочия (традиционно он имеет регистрационное имя root). Идентификаторы 1-99 как правило резервируются для псевдопользователей (от имени этих пользователей запускаются некоторые системные программы) и не назначаются реальным пользователям.

Поле идентификатора группы использовалось для определения группы, к которой принадлежит пользователь, в старых версиях UNIX. В современных версиях пользователь может одновременно быть членом до 16-ти групп, сведения о членстве указываются в файле /etc/group. Рекомендуется указывать в этом поле идентификатор группы, не являющейся владельцем ни одного файла в системе.

Домашний каталог это каталог, предназначенный для хранения файлов пользователя. После входа пользователя в систему этот каталог становится активным. Для обозначения домашнего каталога используется символ ~, то есть запись ~/dir1/file1 указывает на файл file1, находящийся в каталоге dir1 в домашнем каталоге пользователя.

Командный интерпретатор (оболочка) это программа, запускаемая после входа пользователя в систему. Для пользователей, зарегистрированных в системе (например для того чтобы получать электронную почту), но не имеющих права входа и работы с оболочкой вместо командного интерпретатора указывается специальная программа, автоматически завершающая сеанс работы сразу после попытки регистрации (в Red Hat Linux - /sbin/nologin)

Файл /etc/group содержит имена групп пользователей, идентификаторы групп и списки членов каждой группы. Каждая строка представляет одну группу и содержит четыре поля:

- имя группы

- зашифрованный пароль (не используется)

- идентификатор группы

- список пользователей-членов через запятую (пробелы не допускаются)

Например:

users:*:500:root,vasy,masha,boy

 

Файл /etc/shadow используется в ОС Linux и Solaris Unix для хранения зашифрованных паролей. Этот файл доступен только суперпользователю. Каждая строка этого файла соответствует одному пользователю и состоит из девяти полей:

- регистрационное имя

- зашифрованный пароль

- дата последнего изменения пароля

- минимальное число дней между изменениями пароля

- максимальное число дней между изменениями пароля

- число дней, которое должно остаться до истечения срока действия пароля, чтобы было выдано предупреждение

- период отсутствия активности, после которого учетная запись будет отменена

- срок действия учетной записи

- зарезервировано

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

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

Пример записи в файле /etc/shadow:

 

root:$1$MY76JUuX$GJ5vi.T5D8tcMBnG3K/M9/::::::::

 

Редактор vi

 

Редактор vi это встроенный в Linux редактор текстовых файлов, специально предназначенный для работы с терминалом. Любые операции с текстом, включая выделение, копирование и удаление блоков можно проводить используя только алфавитно-цифровые клавиши и Enter. Ниже рассмотрено применение vi для выполнения элементарных операций с текстом.

Для того чтобы начать редактирование файла filename с пмощью vi следует использовать команду

Vi filename

Команда

 

Vipw

 

запускает создает копию файла /etc/passwd и запускает редактор vi для редактирования копии. После редактирования исходный файл заменяется отредактированной копией и пользователю предлагается отредактировать файл /etc/shadow (работа также ведется с копией)

После запуска редактор vi находится в режиме команд. В этом режиме пользователь может:

- перемещать курсор по файлу (нажатием на клавиши со стрелками и клавиши h – влево, j – вниз, k – вверх, l – вправо);

- удалить текущий символ нажатием на клавишу delete или x;

- перейти в режим вставки текста нажатием на клавишу i;

- подать команду, нажав клавишу «:» и затем набрав имя команды.

 

Для выхода из режима вставки текста в режим команд следует нажать клавишу [Esc].

Некоторые команды vi:

:help вывод справочной информации

:q! выход из редактора без сохранения сделанных изменений

:wq выход из редактора с сохранением сделанных изменений

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: