Слайд 1Занятие 08
МДК.02.01 Программное обеспечение компьютерных сетей
3-курс
Слайд 2Операции с учетными записями
Слайд 3Операции с учетными записями
Учетные записи пользователей можно:
- создавать,
- изменять,
-
удалять.
Для чего в системах UNIX предусмотрены специальные команды.
Напомню, что создание, удаление и изменение учетных записей может выполнять только суперпользователь root.
Для версий FreeBSD и System V эти команды несколько отличаются, поэтому их нужно рассматривать отдельно.
Слайд 4Операции с учетными записями
Вначале остановимся на командах, используемых в системах
System V:
• useradd — создает новую
учетную запись пользователя или изменяет информацию о нем;
• userdel — удаляет регистрационное имя пользователя из системы;
• passwd — изменяет пароль пользователя;
• su — выполняет команду с заменой идентификатора пользователя и группы;
Слайд 5Операции с учетными записями
• login — инициализирует сессию пользователя
в системе;
• id — отображает реальный
и эффективный идентификатор пользователя и группы;
• pwconv, pwunconv, grpconv, grpunconv — выполняют преобразование обычных и теневых файлов паролей и групп;
• pwck — проверяет целостность файла паролей.
Слайд 6Операции с учетными записями
Создание новой учётной записи
Команда useradd, вызванная без
опции -D, создает новую учетную запись пользователя.
При
этом эта команда использует параметры командной строки и предполагает умолчание для остальных параметров.
Если команда завершается успешно, то в системе будет зарегистрирована новая учетная запись пользователя.
Для него будет создан домашний каталог, в который копируются файлы инициализации.
Слайд 7Операции с учетными записями
Создание новой учётной записи
Вот наиболее часто используемые
опции команды useradd:
• -u идентификатор — указывает идентификатор
пользователя (uid), представляющий собой неотрицательное целое число, меньшее по значению, чем системный параметр MAXUID.
По умолчанию обычно используется следующий доступный uid из указанного диапазона.
Например, если в системе используются uid с номерами от 100 до 105, то следующий будет равен 106 (идентификаторы, имеющие значения 0—99, зарезервированы системой и не могут использоваться);
Слайд 8Операции с учетными записями
Создание новой учётной записи
• -о —
эта опция позволяет создать дубликат uid — применять ее
следует крайне осторожно, поскольку обеспечение безопасности системы из-за такой неоднозначности усложняется;
• -g группа — представляет собой целочисленный идентификатор или символьное имя существующей группы.
Эта группа устанавливается как основная (primary) для нового пользователя;
Слайд 9Операции с учетными записями
Создание новой учётной записи
• -G группа
— представляет собой несколько элементов списка, разделенных запятыми.
Каждый
элемент из этого списка является целочисленным идентификатором или символьным именем существующей группы.
При этом список может состоять из одного элемента.
Содержимое списка устанавливает принадлежность пользователя к дополнительным группам, которые могут быть определены с помощью команды newgrp;
Слайд 10Операции с учетными записями
Создание новой учётной записи
• -d каталог —
начальный (домашний) каталог нового пользователя.
По умолчанию в качестве начального
используется каталог HOME/registration_name, где:
- HOME — базовый каталог для начальных каталогов новых пользователей,
- registration_name — регистрационное имя нового пользователя;
Слайд 11Операции с учетными записями
Создание новой учётной записи
• -s shell
— полный путь к командному интерпретатору, используемому пользователем сразу же
после регистрации.
По умолчанию этому полю значение не присваивается.
Поэтому система использует стандартный командный интерпретатор /usr/bin/sh.
Для командной оболочки shell нужно указывать существующий исполняемый файл;
Слайд 12Операции с учетными записями
Создание новой учётной записи
• -с комментарий
— любая текстовая строка, кратко описывающая регистрационное имя.
Обычно указывает фамилию
и имя реального пользователя.
Эта информация хранится в записи пользователя в файле /etc/passwd, а размер данного поля не должен превышать 128 символов;
• -m — создает домашний каталог для нового пользователя, если таковой отсутствует.
Если каталог уже существует, вновь созданный пользователь должен обладать правами доступа к указанному каталогу;
Слайд 13Операции с учетными записями
Создание новой учётной записи
• -k skel_dir
— выполняет копирование содержимого каталога skel_dir в начальный
каталог нового пользователя вместо использования стандартного "шаблонного" каталога /etc/skel, который содержит стандартные файлы, определяющие среду работы пользователя.
Каталог skel_dir должен существовать до выполнения операции;
Слайд 14Операции с учетными записями
Создание новой учётной записи
• -f активно_дней
— максимально допустимый интервал времени в днях между использованиями
регистрационного имени пользователя, когда это имя еще не объявляется недействительным.
Обычно в качестве значений указываются положительные целые числа;
Слайд 15Операции с учетными записями
Создание новой учётной записи
• -е дата
— дата, начиная с которой
регистрационное имя пользователя нельзя будет использовать.
После этой даты ни один пользователь не сможет войти в систему, введя данное регистрационное имя;
• login — строка символов, задающая регистрационное имя для нового пользователя.
В ней не должны присутствовать символы двоеточия и перевода строки, а первый символ не должен быть прописной буквой.
Слайд 16Операции с учетными записями
Создание новой учётной записи
Рассмотрим пример
создания учетной записи пользователя с
регистрационным именем user1, который будет работать в операционных системах Solaris и Linux.
Как обычно, для создания учетной записи пользователя необходимо зарегистрироваться в системе как суперпользователь root.
Вначале просмотрим опции по умолчанию для команды useradd — эта информация может оказаться полезной при создании и модификации учетных записей.
Слайд 17Операции с учетными записями
Создание новой учётной записи
Они могут быть такими:
# useradd -D
GROUP=100
HOME=/home
EXPIRE=
SHELL=/bin/bash
Слайд 18Операции с учетными записями
Создание новой учётной записи
Результат выполнения этой команды
позволяет сделать несколько важных выводов:
• в качестве корневого
каталога для вновь создаваемых пользователей выбран каталог /home;
• пустое поле значения параметра EXPIRE означает, что учетная запись пользователя никогда не будет заблокирована;
• в качестве командного интерпретатора для всех вновь создаваемых пользователей по умолчанию установлен /bin/bash.
Слайд 19Операции с учетными записями
Создание новой учётной записи
Для создания учетной записи
пользователя user1 введем команду:
# useradd user1
Если команда выполнена успешно,
то учетная запись пользователя user1 будет зарегистрирована в системе.
А в файл /etc/passwd будет добавлена примерно такая запись:
user1:х:2307:2307::/home/user1:/bin/bash
Слайд 20Операции с учетными записями
Создание новой учётной записи
Команда useradd автоматизирует процесс
регистрации пользователя.
Но можно сделать это вручную, если нужно установить какие-либо
индивидуальные параметры для пользователя.
Например, командную оболочку или домашний каталог.
Предположим, необходимо создать учетную запись пользователя с регистрационным именем user2.
Слайд 21Операции с учетными записями
Создание новой учётной записи
Вначале просмотрим файл /etc/passwd/
на предмет поиска наибольшего значения идентификатора пользователя uid.
Наибольшее значение
uid, равное 2307, имеет вновь созданный пользователь user1.
Поэтому следующим значением uid может быть 2308.
Добавим в файл /etc/passwd запись о пользователе user2, введя команду echo:
# echo user2:x:2308:2308::/home/user2:/bin/bash >>
/etc/passwd
Слайд 22Операции с учетными записями
Создание новой учётной записи
Далее создадим начальный каталог
пользователя user2:
# mkdir /home/user2
Пользователя user2 сделаем владельцем каталога
/home/user2:
# chown user2 /home/user2
Приводим в соответствие записи файлов /etc/passwd и /etc/shadow с помощью команды pwconv:
# pwconv
Слайд 23Операции с учетными записями
Создание новой учётной записи
Команда pwconv создает файл
shadow из passwd, при этом может использоваться и существующий файл
shadow (он будет перезаписан).
Команда работает следующим образом:
1. Удаляются записи в теневом файле shadow, отсутствующие в основном файле паролей passwd.
2. Обновляются теневые записи, для которых в полях пароля в основном файле не стоит "х". Добавляются все недостающие теневые записи.
3. Пароли в основном файле заполняются символами "х".
Слайд 24Операции с учетными записями
Удаление учётных записей
Удалить учетную запись пользователя в
операционных системах System V можно с помощью команды
userdel.
Она удаляет информацию о пользователе из системы, выполняя соответствующие изменения в регистрационных файлах и файловой системе.
Дополнительно userdel запоминает идентификатор uid удаляемого пользователя в файле /etc/security/ia/ageduid, чтобы исключить повторное использование этого идентификатора в течение определенного периода времени — такой механизм называется "устареванием идентификатора" (uid aging).
Слайд 25Операции с учетными записями
Удаление учётных записей
Команда имеет синтаксис:
userdel [-r]
[-n месяцев] имя
Опции имеют такой смысл:
•
-r — удаление начального каталога пользователя из системы (каталог должен существовать).
При успешном выполнении команды файлы и подкаталоги в домашнем каталоге будут недоступны;
Слайд 26Операции с учетными записями
Удаление учётных записей
• -n_месяцев — задает
интервал времени в месяцах, указывающий, как долго идентификатор пользователя должен
устаревать перед повторным использованием.
Если параметр равен —1, то идентификатор пользователя никогда не будет повторно использован.
Если он равен 0, то идентификатор пользователя можно использовать немедленно.
Если опция -n не задана, принимается значение устаревания по умолчанию.
Слайд 27Операции с учетными записями
Изменение параметров учётных записей
Изменить параметры
учетной записи пользователя в системах
System V можно при помощи команды usermod.
Эта команда модифицирует файлы, содержащие информацию об учетных записях пользователей.
Допустимы следующие опции:
• -А метод|DEFAULT — указывает новый метод идентификации пользователя и представляет собой имя программы, отвечающей за допустимую идентификацию пользователя. Строку DEFAULT можно использовать для установки стандартного метода идентификации;
Слайд 28Операции с учетными записями
Изменение параметров учётных записей
• -с комментарий
— указывает на другой комментарий для записи пользователя в файле
паролей;
• -d домашний_каталог — новый домашний каталог пользователя.
При указании опции -m содержимое текущего домашнего каталога будет перемещено в новый домашний каталог, который будет создан, если еще не существует;
• -е дата — дата, после которой учетная запись пользователя устареет.
Дата указывается в формате MM/DD/YY;
Слайд 29Операции с учетными записями
Изменение параметров учётных записей
• -f активно_дней
— число дней между датой устаревания пароля и датой, когда
учетная запись пользователя будет заблокирована.
Значение, равное 0, блокирует учетную запись пользователя в момент устаревания пароля, а значение —1 запрещает блокировку (значение по умолчанию);
• -g группа — имя группы или номер группы, которые будут присвоены пользователю после входа в систему, причем группа с указанным именем должна существовать.
Номер группы также должен ссылаться на существующую группу (по умолчанию равен 1);
Слайд 30Операции с учетными записями
Изменение параметров учётных записей
• -G
дополнительная_группа — список дополнительных групп.
Данный пользователь также является членом
этих групп.
Каждая группа отделяется от следующей группы запятой, без пробелов.
Группы являются предметом для некоторых ограничений, например, группа, заданная с опцией -g.
Если пользователь является членом группы, которая не находится в списке, то пользователь будет удален из группы;
Слайд 31Операции с учетными записями
Изменение параметров учётных записей
• -l новое_имя
— имя пользователя будет изменено с имя на новое_имя.
Ничего другого сделано не будет.
В частности, домашний каталог пользователя должен быть, вероятно, изменен;
• -s shell — имя командного интерпретатора, который будет использоваться новым пользователем при входе в систему.
Установка этого поля в пустое значение будет выбирать системный shell по умолчанию;
Слайд 32Операции с учетными записями
Изменение параметров учётных записей
• -u uid
— числовое значение идентификатора пользователя
uid. Это значение должно быть уникальным, исключение составляет использование опции -о.
Значение должно быть положительным. Как было сказано ранее, значения между 0 и 99 обычно зарезервированы для системных бюджетов. Для любых файлов, владельцем которых является пользователь, и которые находятся в домашнем каталоге пользователя, идентификатор пользователя uid будет изменяться автоматически.
Для файлов вне домашнего каталога пользователя идентификатор пользователя должен быть изменен вручную.
Слайд 33Операции с учетными записями
Изменение параметров учётных записей
Важное замечание: если пользователь
находится в системе, изменить его имя не удастся.
Вот
пример использования команды usermod.
Предположим, требуется изменить регистрационное имя пользователя user2, созданного ранее, на moduser2, а его домашний каталог — на /home/moduser2.
Исходная запись для пользователя user2 в файле /etc/passwd выглядит так:
user2:х:2308:2308::/home/user2:/bin/bash
Слайд 34Операции с учетными записями
Изменение параметров учётных записей
Следующая команда выполняет все
необходимые изменения:
# usermod -l moduser2 -d /home/moduser2 -m user2
После выполнения этой команды запись для пользователя moduser2 в файле /etc/passwd должна выглядеть примерно так:
moduser2:х:2308:2308::/home/moduser2:/bin/bash
Легко проверить и наличие домашнего каталога пользователя moduser2, задав команду:
# ls -l /home
drwxr-xr-x 10 moduser2 4096 Aug 18 22:51 moduser2
Слайд 35Операции с учетными записями
Изменение параметров учётных записей
Здесь нужно
сделать одно важное замечание: при
изменении регистрационного имени пользователя его uid остается неизменным.
Это свидетельствует о том, что операционная система работает с одной и той же учетной записью пользователя, несмотря на то, что регистрационное имя пользователя изменилось.
Таким образом, можно сделать очень важный вывод: для UNIX определяющим фактором при работе с пользователем является его идентификатор uid, а не регистрационное имя пользователя, которое может изменяться.
Слайд 36Операции с учетными записями
Информацию о реальных и эффективных идентификаторах выполняющегося
процесса можно получить с помощью системных вызовов getuid() и getgid().
Выполняющийся процесс может динамически изменять свои идентификаторы посредством системных вызовов setuid() и setgid().
Однако такое допускается только для привилегированного процесса, выполняющегося с идентификатором root, или такого, у которого реальный идентификатор совпадает с устанавливаемым.
Слайд 37Операции с учетными записями
Например, специальная программа passwd позволяет
изменить пароль пользователя в учетном файле пользователей /etc/passwd.
Владельцем
этих файлов является суперпользователь root.
Код доступа файла /etc/passwd разрешает выполнять запись данных только владельцу, в то время как код доступа исполняемого файла passwd разрешает смену пароля пользователя.
Слайд 38Операции с учетными записями
Следовательно, пользователь, отличный от root,
может изменить свой пароль только с помощью программы passwd,
что является корректным по отношению к пользователю, который всегда может изменить свой пароль, не сообщая об этом системному администратору.
Ключевую роль в регистрации и управлении учетными записями пользователей играют несколько файлов, упоминавшихся ранее:
/etc/passwd, /etc/group и /etc/shadow.
Слайд 39Операции с учетными записями
Рассмотрим их более подробно
и начнем с файла паролей
passwd.
Этот файл обычно располагается в каталоге /etc и состоит из текстовых строк, представляющих собой отдельные учетные записи, при этом отдельные поля каждой записи отделены друг от друга двоеточием.
Файл passwd имеет одинаковую структуру во всех операционных системах UNIX.
Слайд 40Операции с учетными записями
Вот пример записи файла /etc/passwd для пользователя
user1:
$ cat /etc/passwd|grep user1 user1:x:500:500:user1:/home/user1:/bin/bash
Все записи имеют семь
полей, разделенных двоеточием.
Приведем расшифровку (слева направо) отдельных полей, в качестве примера используя показанную выше запись:
Слайд 41Операции с учетными записями
• поле 1 — регистрационное имя
пользователя (user1);
• поле 2 — зашифрованный пароль (х);
• поле 3 — идентификатор пользователя (500);
• поле 4 — идентификатор группы (500);
• поле 5 — информация о пользователе (user1);
• поле 6 — рабочий каталог пользователя (/home/user1);
• поле 7 — используемая командная оболочка (/bin/bash).
Слайд 42Операции с учетными записями
Поскольку операционные системы UNIX являются многопользовательскими, в
них предусмотрен механизм группового доступа.
При том, что учетная запись
пользователя может входить в одну или несколько групп, принадлежать она может только одной группе, для чего в записях файла паролей /etc/passwd предусмотрено поле идентификатора группы (group ID, gid).
Информация о принадлежности пользователей к тем или иным группам находится в файле /etc/group.
Слайд 43Операции с учетными записями
Для того чтобы включить пользователя в какую-либо
группу, необходимо внести соответствующие изменения в файл /etc/group.
В ранних
версиях операционной системы UNIX пользователь мог быть членом только одной группы, но в современных системах такого ограничения более не существует, поэтому пользователь может входить в 16 групп одновременно.
Поле идентификатора группы в настоящее время практически не используется операционной системой, тем не менее, ему присваивается определенное значение.
Слайд 44Операции с учетными записями
Проанализируем команду passwd — с ее помощью
можно изменить пароли пользователей.
При этом обычные пользователи могут изменить пароль
только для своей учетной записи.
В то время как суперпользователь root может это сделать для любого пользователя.
Слайд 45Операции с учетными записями
Кроме этого, passwd позволяет изменить информацию
об учетной записи:
-
полное имя пользователя,
- его командный интерпретатор,
- дату истечения срока используемого пароля,
- интервал времени, в течение которого пароль действует.
Слайд 46Операции с учетными записями
Команда имеет синтаксис:
passwd [-f] имя
passwd
[-g] [-r|-R] группа
passwd [-x max] [-n min] [-w warn]
[-i inact] имя
passwd {-l|-u|-d|-S} имя
Слайд 47Операции с учетными записями
Для пользователей, имеющих пароль, перед установкой нового
пароля команда passwd предлагает ввести
текущий пароль (он хранится в зашифрованном виде).
Обычному пользователю дается только одна попытка для ввода правильного пароля. Супер-пользователь root может пропустить этот шаг, что оказывается полезным, если пароль забыт, поскольку его можно изменить даже в этом случае.
После ввода пароля passwd проверяет наличие разрешения на изменение пароля в данное время — если это невозможно, команда завершает работу, не изменив пароль.
Слайд 48Операции с учетными записями
Вот смысл некоторых опций команды passwd:
•
-g — замена пароля для заданной группы — может
быть выполнена только суперпользователем root или администратором группы.
Может быть использована вместе с опцией -r для удаления текущего пароля заданной группы, что делает группу доступной всем членам.
Вместе с опцией -R используется для ограничения доступа к группе всем пользователям;
Слайд 49Операции с учетными записями
• -х — используется для установки
максимального числа дней, в течение которых пароль остается допустимым, при
этом после max дней требуется его изменение;
• -n — служит для установки минимального числа дней. После истечения этого срока пароль может быть изменен.
При этом пользователю запрещается изменять пароль в течение min дней;
Слайд 50Операции с учетными записями
• -w — предназначена для установки
числа дней.
В течение этих дней пользователь будет
получать предупреждающее сообщение об истечении времени действия его пароля.
При этом сообщения будут выводиться в течении warn дней, напоминая пользователю, сколько дней осталось до момента устаревания его пароля;
Слайд 51Операции с учетными записями
• -i — запрещает использование
учетной записи пользователя по истечению промежутка времени после устаревания пароля.
При
этом, если устаревший пароль остается неизменным в течение inact дней, он не будет вновь принят системой;
• -l — блокирует учетную запись, изменяя пароль таким образом, что он становится непригодным для шифрования;
Слайд 52Операции с учетными записями
• -u — разблокирует
учетную запись, изменяя пароль к его
предыдущему значению;
• -S — вывод статусной информации учетной записи.
Статусная информация состоит из шести полей, первое из которых кодируется следующим образом:
• L — если бюджет пользователя заблокирован;
• NP — если не существует пароля для данной учетной записи;
• P — если пароль используется.
Слайд 53Операции с учетными записями
Второе поле указывает дату последнего изменения пароля.
Следующие
четыре поля:
— минимальное время до истечения срока
действия пароля,
— максимальное время до истечения срока действия пароля,
— период вывода предупреждающего сообщения об истечении срока действия пароля,
— период неактивности для этого пароля;
• -f — требует от пользователя изменить пароль при следующем входе в систему.
Слайд 54Операции с учетными записями
От выбора пароля во многом зависит безопасность
операционной системы.
Кроме того, существенную роль в этом играет алгоритм
шифрования и размера ключа, используемый в данной UNIX-системе.
В большинстве операционных систем метод криптографии основывается на алгоритме NBS DES, который имеет очень высокую степень безопасности, при этом размер ключа зависит от выбранного пароля.
Слайд 55Операции с учетными записями
Лучше не выбирать пароль, в котором используются
литературные выражения, или основанный на личных данных (месяц, год рождения
и т. д.).
Такой пароль злоумышленнику расшифровать несложно.
Конечно, пароль должен быть хорошо запоминаем.
Для этого одним из вариантов может быть знакомое слово, части которого разделены специальными символами.
Слайд 56Операции с учетными записями
Пароль может представлять собой комбинацию
из двух слов, объединенных вместе и разделенных специальными
символами или цифрами.
Примерами таких паролей являются:
P!e%ter$sbu)rg
и
n*ew!Pas#s%w$ord.
Слайд 57Операции с учетными записями
в системах, совместимых с BSD
Организация учетных записей
в системах, совместимых с BSD, принципиально не отличается от остальных.
Отличия заключаются в следующем:
• используется файл /etc/master.passwd, являющийся в некотором смысле аналогом файла /etc/shadow, используемого в системах, совместимых с System V.
Файл /etc/master.passwd хранит ту же информацию, что и /etc/passwd, хотя имеются и некоторые отличия.
Слайд 58Операции с учетными записями
в системах, совместимых с BSD
Команда chpass
применяется для изменения учетных записей пользователей
в FreeBSD.
Она позволяет изменять параметры учетной записи, включая пароль, срок действия учетной записи и стандартный интерпретатор команд.
Имеет следующий синтаксис:
chpass [-а список] [-р зашифрованный_пароль] [-е срок_действия]
[-s интерпретатор] [login]
Слайд 59Операции с учетными записями
в системах, совместимых с BSD
Опции команды означают
следующее:
• -а список — позволяет
суперпользователю определять полную запись в формате /etc/passwd;
• -р зашифрованный_пароль — разрешает изменить пароль, предварительно зашифрованный командой crypt.
Эта опция используется в командных файлах, содержащих команду crypt и передающих полученный результат команде chpass;
• -е срок_действия — задает срок действия учетной записи;
Слайд 60Операции с учетными записями
в системах, совместимых с BSD
•
-s интерпретатор — обеспечивает смену стандартного интерпретатора команд на указанный;
• login — задает модифицируемую учетную запись.
Чаще всего команда chpass используется без параметров или с единственным параметром login — в этом случае запускается редактор, с помощью которого можно изменить параметры учетной записи.
Слайд 61Операции с учетными записями
в системах, совместимых с BSD
Учетные записи пользователей
FreeBSD можно отредактировать вручную непосредственно в файле /etc/master.passwd.
После чего распространить
изменения на другие файлы с помощью команды pwd_mkdb:
#pwd_mkdb -p /etc/master_passwd
Слайд 62Операции с учетными записями
в системах, совместимых с BSD
Еще одна команда
— rmuser — служит для удаления пользователя и информации, связанной
с данной учетной записью.
Имеет такой синтаксис:
rmuser [-y] login
Слайд 63Операции с учетными записями
в системах, совместимых с BSD
Группы пользователей в
системе FreeBSD можно создавать либо с помощью программы
sysinstall, либо вручную, редактируя файл /etc/group.
Как видно из обзора, команды управления учетными записями пользователей System V и FreeBSD очень похожи и используют однотипные параметры.
Рассмотренные здесь команды являются основными для управления учетными записями пользователей, хотя кроме них имеется целый ряд других утилит, позволяющих выполнить более узкие задачи. Дополнительную информацию о таких командах можно получить из man-страниц операционной системы.
Слайд 64Список литературы:
Unix и Linux: руководство системного администратора, 4-е издание, 2012,
Э. Немет, Г. Снайдер, Т. Хейн, Б. Уэйли
Для начинающих работать
в UNIX, Ф.И. Торчинский.
Организация UNIX систем и ОС Solaris 9, Торчинский Ф.И., 2-е издание, исправленное, 2016.
Слайд 65Благодарю за внимание!
Преподаватель: Солодухин Андрей Геннадьевич
Электронная почта: asoloduhin@kait20.ru