The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Документация для Linux" / Оглавление документа

Занятие 3.

Тема:  Учётные записи в Linux.

Вид занятия:  лекция, практическое занятие.

Учебные вопросы:

1. Понятие учетной записи и аутентификации. Файлы

   /etc/passwd и /etc/group, /etc/shadow и /etc/gshadow.

2. Учетная запись root.

3. Пароли в Linux.

4. Команды login, su, newgrp, passwd, gpasswd, chage.  

5. Создание и удаление учетных записей.

Время: 90 минут

Литература:

1. Робачевский А.М. Операционная система Unix. - СПб.:

   БВХ - Санкт-Петербург, 1999. - 528 с., ил.

2. Армстронг (мл.) Джеймс. Секреты Unix : 2-е изд.: Пер. с

  англ.: Уч. пос. - М.: Издательский дом Вильямс, 2000. - 1072

  с.: ил. - Парал. тит. англ.

3. Паркер Тим. Linux 5.2. Энциклопедия пользователя: Пер. с

   англ. - К.: Издательство ДиаСофт, 1999. - 688 с.


Ход занятия.

1. Linux, как и любая unix-подобная система, является не только многозадачной, но и многопользовательской, т.е эта операционная система позволяет одновременно нескольким пользователям работать с ней. Но система должна как-то узнавать, какой или какие из пользователей работают в данный момент. Именно для этих целей в Linux существует два понятия - учетные записи и аутентификация, которые являются частями одного механизма.

Учетная запись пользователя - это необходимая для системы информация о пользователе, хранящаяся в специальных файлах. Информация используется Linux для аутентификации пользователя и назначения ему прав доступа.

Аутентификация - системная процедура, позволяющая Linux определить, какой именно пользователь осуществляет вход.

Вся информация о пользователе обычно храниться в файлах /etc/passwd и /etc/grpoup.

/etc/passwd - этот файл содержит информацию о пользователях. Запись для каждого пользователя занимает одну строку:

root: $1$QydTRu2w$Cm5gk.6w6nmNdUjerh5pu:0:0:root:/root:/bin/bash

имя пользователя

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

UID

GID

 

домашний каталог

оболочка

 

 

 

 

 

 

Настоящее имя пользователя

 

 

имя пользователя - имя, используемое пользователем на все приглашения типа login при аутентификации в системе.

зашифрованный пароль - обычно хешированный по необратимому алгоритму MD5 пароль пользователя.

UID - числовой идентификатор пользователя. Система использует его для распределения прав файлам и процессам.

GID - числовой идентификатор группы. Имена групп расположены в файле /etc/group. Система использует его для распределения прав файлам и процессам.

Настоящее имя пользователя - используется в административных целях, а также командами типа finger (получение информации о пользователе через сеть).

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

Оболочка - командная оболочка, которую использует пользователь при сеансе. Для нормальной работы она должна быть указана в файле регистрации оболочек /etc/shells.

/etc/group - этот файл содержит информацию о группах, к которым принадлежат пользователи:

project: $1$QydTRu2w$Cm5gk.6w6nmNdUjerh5pu:100:root,bin,daemon

Имя группы

Шифрованный пароль

GID

Пользователи, включенные в несколько групп

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

Шифрованный пароль - используется при смене группы командой newgrp. Пароль для групп может отсутствовать.

GID - числовой идентификатор группы. Система использует его для распределения прав файлам и процессам.

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

На сегодняшний день хранение паролей в файлах passwd и group считается ненадежным. В новых версиях Linux применяются так называемые теневые файлы паролей - shadow и gshаdow. Права на них назначены таким образом, что даже чтение этих фалов без прав суперпользователя невозможно. Нужно учесть, что нормальное функционирование системы при использовании теневых файлов подразумевает одновременно и наличие файлов passwd и group.

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

cisco:$1$oAJZcVg0$EGORy8Mh3swT1RfJeX.UR0:13770:10:99999:7:30:99999:

         а

                       б

в

 

г

 

д

 

е

 

ж

 

           з

     и

а) имя пользователя

б) шифрованный пароль - применяются алгоритмы хеширования, как правило MD5

в) число дней последнего изменения пароля, начиная с 1 января 1970 года, последнего изменения пароля

г) число дней, перед тем как пароль может быть изменён

д) число дней, после которых пароль должен быть изменён

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

ж) число дней, после устаревания пароля для блокировки учётной записи

з) дней, отсчитывая с 1 января 1970 года, когда учётная запись будет заблокирована

и) зарезервированное поле

Файл gshadow так же накладывает дополнительную функциональность, вкупе с защищенным хранением паролей групп. Он имеет следующую структуру:

root:$1$QydTRu2w$Cm5gk.6w6nmNdUjerh5pu:root:cisco,oem

Имя группы

Шифрованный пароль

администратор группы

Список пользователей

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

Шифрованный пароль - используется при смене группы командой newgrp. Пароль для групп может отсутствовать.

Администратор грыппы - пользователь, имеющий право изменять пароль с помощью gpasswd.

Список пользователей - В этом поле через запятую отображаются те пользователи, у которых по умолчанию (в файле /etc/passwd) назначена другая группа.

2. В Linux, кроме обычных пользователей, существует один (и только один) пользователь с неограниченными правами. Идентификаторы UID и GID такого пользователя всегда 0. Его имя, как правило, root. Для пользователя root права доступа к файлам и процессам не проверяются системой. При работе с использованием учетной записи root необходимо быть предельно осторожным, т.к. всегда существует возможность уничтожить систему.

3. В Linux используется развитая система распределения прав пользователям. Но для точного опознания пользователя одного имени недостаточно с точки зрения безопасности. Именно поэтому используется и пароль - произвольный набор символов произвольной длины, обычно ограниченной лишь используемыми методами шифрования.

Сегодня в большинстве версий Linux пароли шифруются по алгоритмам 3DES и MD5. Когда алгоритм 3DES является обратимым, то есть такой пароль можно расшифровать, MD5 - это необратимое преобразование.

При аутентификации, пароль, введенный пользователем, шифруется тем же методом, что и исходный, а потом сравниваются уже зашифрованные копии. Если они одинаковые, то аутентификация считается успешной.

Учитывая ежедневно увеличивающиеся требования к безопасности, в Linux есть возможность использовать скрытые пароли. Файлы /etc/passwd и /etc/group доступны для чтения всем пользователям, что является довольно большой брешью в безопасности системы. Именно поэтому в современных версиях Linux предпочтительнее использовать скрытые пароли. Такие пароли располагаются в файлах /etc/shadow и /etc/gshadow, для паролей пользователей и групп соответственно. Подробно мы не будем рассматривать формат этих файлов, но скажем только, что они доступны для чтения только пользователю root.

4. Команда login используется при входе в систему. Она проверяет правильность ввода имени и пароля пользователя, меняет каталог на домашний, выстраивает окружение и запускает командный интерпретатор. Команду login нельзя запускать из командной строки - это вызовет ошибку и может привести к завершению сеанса.

Команда su позволяет сменить идентификатор пользователя уже в процессе сеанса. Синтаксис ее прост: su username , где username - имя пользователя, которое будет использоваться. После этого программа запросит пароль. При правильно введенном пароле, su запустит новый командный интерпретатор с правами пользователя, указанного su и присвоит сеансу его идентификаторы. Если имя пользователя опущено, то команда su использует имя root.

[student@ns student]$ su root

Password:

[root@ns student]#_

При использовании команды su пользователем root она никогда не запрашивает пароль.

Команда newgrp аналогична по своим возможностям su с той разницей, что происходит смена группы. Пользователь должен быть включен в группу, которая указывается в командной строке newgrp. При использовании команды newgrp пользователем root она никогда не запрашивает пароль. Синтаксис команды аналогичен синтаксису команды su: newgrp groupname, где groupname - имя группы, на которую пользователь меняет текущую.

Команда passwd является инструментом для смены пароля в Linux. Для смены своего пароля достаточно набрать в командной строке passwd:

[student@ns student]$ passwd

Changing password for student

(current) UNIX password:

New password:

Retype new password:

passwd: all authentication tokens updated successfully

[student@ns student]$_

Для смены пароля группы и управления группой используется команда gpasswd Для смены пароля достаточно набрать в командной строке gpasswd GROUPNAME.  Сменить пароль вам удастся только если Вы являетесь администратором группы.  Если пароль не пустой,то для членов группы вызов newgrp пароля не требует, а не члены группы должны ввести пароль. Администратор группы может добавлять и удалять пользователей с помощью параметров -a и -d соответственно. Администраторы могут использовать параметр -r для удаления пароля группы. Если пароль не задан, то только члены группы с помощью команды newgrp могут войти в группу. Указав параметр -R можно запретить доступ в группу по паролю с помощью команды newgrp (однако на членов группы это не распространяется). Системный администратор (root) может использовать параметр -A, чтобы назначить группе администратора.

Команда chage управляет информацией об устаревании пароля и учетной записи. Обычный пользователь (не root) может использовать команду только для просмотра своих параметров устаревания пароля:

gserg@ADM:/$ chage -l gserg

Last password change                                    : Май 03, 2007

Password expires                                        : never

Password inactive                                       : never

Account expires                                         : never

Minimum number of days between password change          : 0

Maximum number of days between password change          : 99999

Number of days of warning before password expires       : 7

Суперпользователь же может использовать также иные параметры, такие как:

-d дата (в формате системной даты, например ДД.ММ.ГГГГ) - устанавливает дату последней смены пароля пользователем.

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

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

-m N - задает минимальное количество дней (N) между сменами пароля

-M N - задает максимальное количество дней (N) между сменами пароля

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




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру