
- •4 Курс, 1 семестр
- •Оглавление
- •1 Введение в ос unix
- •1.1 История создания
- •1.2 Базовые концепции
- •1.3 Архитектура unix
- •1.4 Пользователи системы
- •1.5 Пользовательская среда Unix.
- •2 Файловая подсистема
- •2.1 Понятие
- •2.2 Логическая структура файловой системы
- •2.3 Имена файлов в ос unix
- •2.4 Типы файлов
- •2.5 Права доступа к файлам
- •2.6 Физическое размещение файловой системы
- •2.7 Особенности размещения файловой системы sVfs
- •2.8 Особенности размещения файловой системы ffs (ufs)
- •2.9 Монтирование файловых систем
- •2.10 Восстановление файловой системы
- •2.11 Типы файловых систем unix
- •3 Подсистема управления процессами
- •3.1 Понятие процесса
- •3.2 Логическая организация процессов
- •3.3 Жизненный цикл процесса
- •3.4 Реализация процессов
- •3.4.1 Состав процесса
- •3.4.2 Структуры управления процессом
- •3.4.3 Файловая система /proc
- •3.5 Нити (потоки)
- •Причины появления нитей
- •Типы нитей
- •3) Прикладные нити. Существует возможности поддержки нитей полностью на прикладном уровне, при этом ядру об их существовании ничего не известно.
- •3.5 Планирование
- •3.5.1 Задачи планировщика
- •3.5.2 Приоритеты процессов
- •3.5.3 Реализация планировщика
- •3.5.4 Расчет приоритета
- •3.5.5 Особенности планирования в Linux
- •3.6 Взаимодействие между процессами (Interprocess Communication, ipc)
- •3.6.1 Введение
- •3.6.2 Взаимодействие родственных процессов
- •3.6.3 Взаимодействие произвольных процессов
- •Разделяемая память.
- •Передача сообщений.
- •Семафоры.
- •3.6.4 Межпроцессное взаимодействие с помощью файловой системы
- •4 Управление памятью
- •4.1 Понятие виртуальной памяти
- •4.2 Свопинг
- •4.3 Страничное замещение
- •4.4 Стратегия замещения страниц
- •5 Подсистема ввода-вывода
- •5.1 Основные задачи
- •5.2 Типы устройств ввода-вывода в ос
- •5.3 Общая схема
- •5.4 Драйвера
- •5.5 Буферизация
- •5.6 Поддержка операций ввода-вывода
- •6 Unix в сетях
- •6.1 Конфигурация tcp/ip
- •6.2 Основные сетевые утилиты
- •6.3 Основные сетевые интерфейсы
- •6.4 Доступ к сетевым ресурсам
- •6.5 Сетевые службы Unix
1.4 Пользователи системы
Пользователь – это объект, который обладает определенными правами, может запускать на выполнение программы и владеть файлами.
Большинство пользователей являются реальными людьми, которые зарегистрированы в системе. Но, в качестве пользователей могут выступать удаленные компьютеры или группы пользователей. Такие пользователи называются псевдопользователями.
Каждый пользователь имеет свое уникальное имя (login), но система различает пользователей по идентификатору, соответствующему имени. Он называется идентификатором пользователя (UID). Каждый пользователь является членом одной или нескольких групп.
Группа – это пользователи, имеющие сходные задачи. Каждая группа имеет свое уникальное имя. Система же различает группы по идентификатору группы (GID).
UID и GID определяют, какими правами обладает пользователь в системе.
В системе существуют один пользователь, обладающий неограниченными возможностями. Это суперпользователь (root). Его UID=0 GID=0.
Информация о пользователях хранится в файле /etc/passwd, а информация о пользователях в файле /etc/group.
Файл /etc/shadow используется в системах с теневым хранением паролей, где они вынесены из доступного всем пользователям на чтение файла /etc/passwd для повышения безопасности системы.
Каждая строка файла /etc/passwd состоит из семи полей, разделенных двоеточием
Вот эти поля:
1 – name – регистрационное имя пользователя
2 – passwd-encod – пароль пользователя в закодированном виде
3 – UID – идентификатор пользователя
4 – GID – идентификатор первичной группы
5 – comments – комментарии, обычно это полное имя пользователя
6 – home-dir – домашний каталог пользователя
7 – shell – имя программы, которую ОС запускает в качестве командного интерпретатора.
После установки Unix обычно содержит несколько зарегистрированных пользователей. Это стандартные пользователи. (В различных версиях UID этих пользователей может отличаться.)
Существует команда su для временного изменения действующего (эффективного) идентификатора пользователя и сеанса пользователя. Она имеет следующий синтаксис:
su [-] [регистрационное_имя [аргументы ...]
Команда su без указания регистрационного имени позволяет получить права пользователя root. При этом необходимо знать и правильно ввести пароль пользователя root.
Команда passwd позволяет любому пользователю изменить пароль или получить список атрибутов текущего пароля для своего регистрационного имени.
Управление пользователями
1. Просмотр базы данных учетных записей
logins содержимое файла /etc/passwd. Результат сортируется по идентификатору пользователя, в результате чего сначала идут системные регистрационные имена, а затем - пользовательские.
2. Получение списка зарегистрировавшихся пользователей
who – информацию об активных пользователях. Для получения этой информации она просматривает файл /var/adm/utmp.
3. Средства создания, изменения и удаления учетных записей пользователей
команды, useradd, usermod и userdel, соответственно.
Эти команды позволяют выполнить только согласованные и допустимые изменения в файлах /etc/passwd, /etc/shadow и /etc/group. Команды управления учетными записями, в общем случае, может выполнять только пользователь root.
4.Средства создания, изменения и удаления групп
команды, groupadd, groupmod и groupdel, соответственно. Эти команды позволяют выполнить только согласованные и допустимые изменения в файле /etc/group. Команды управления группами, в общем случае, может выполнять только пользователь root.