126
Цель лабораторной работы №4 — практическое закрепление учебного материала по теме «Управление файловыми системами ОС».
Метод достижения указанной цели — закрепление учебного материала, изложенного в первом разделе пособия посредством утилит ОС, а также выполнение заданий, приведенный в данном разделе.
Чтобы успешно выполнить данную работу, студенту следует:
• запустить с flashUSB ОС УПК АСУ, подключить личный архив и переключиться в сеанс пользователя upk;
•запустить на чтение данное пособие и на редактирование личный отчет;
•открыть одно или несколько окон терминалов, причем хотя бы в одном окне терминала открыть Midnight Commander, для удобства работы с файловой системой ОС;
•приступить к выполнению работы, последовательно пользуясь рекомендациями представленных ниже подразделов.
Замечание
Многие команды ОС студенту еще не известны, поэтому следует:
•для вывода на консоль руководства по интересуемой команде, использовать: man имя_команды;
•для выяснения сущесвования команды, ее доступности и местоположения, использовать: command -v имя_команды;
•для уточнения правил запуска конкретной команды, можно попробовать один из вариантов: команда --help или команда -h или команда -?.
Впроцессе выполнения лабораторной работы студент заполняет личный отчет по каждому изученному вопросу!
Прочитайте и усвойте материал подраздела 4.1. Исследуйте содержание директории /dev. Исследуйте содержание директории /proc.
С помощью утилиты man изучите утилиты mknod, ls и grep. Научитесь в терминале выводить характеристики узла, зная его имя.
Прочитайте и усвойте учебный материал подразделов 1.2-1.6.
Закрепите изученный материал посредством практического использования утилит: fdisk, mkfs, mknod, mount и umount.
127
Прочитайте и усвойте материал подраздела 4.7.
Запустите в окне терминала файловый менеджер Midnight Commander и с поиощью него изучите струтуры ФС всех трех уровней и директории /var.
Вокне терминала, усвойте работу команд (утилит) pwd, cd, ls, cat.
Вдомашней директории пользователя upk, усвойте работу утилит mkdir и rmdir.
Прочитайте и усвойте учебный материал подразделов 4.8-4.9.
Вокне терминала исследуйте ветвь дерева директории /lib/modules.
Вокне терминала, усвойте работу утилит insmod, rmmod, lsmod, modinfo и dmesg. Подробно изучите группировку и назначение функций системных вызовов ОС, представленных таблицей на рисунке 4.9.
Прочитайте и усвойте учебный материал подразделов 4.10-4.12. Разберитесь в основных концепциях работы с устройтсвами (узлами) ОС.
С помощью руководства man и файла /etc/fstab изучите способ задания конфигурации блочных устройств ОС.
Сравните структуру файла /etc/fstab с выводом утилиты mount.
На примерах подраздела 4.12, освойте правильное использование утилит mount и umount. Особое внимание уделите атрибутам (опциям) монтирования.
Прочитайте и усвойте учебный материал подразделов 4.13-4.14.
На учебных примерах разберитесь с особенностями монтирования изученных ФС. На практике освойте работу с утилитами: df, du и lsof.
Замечание
Примеры, приведенные в подразделе 4.3, являются чисто демострационными и не могут быть напрямую реализованы в ОС УПК АСУ.
На примере файла сценария /etc/upkasu/mount-upk.sh, разберитесь и опишите в отчете алгоритм и функции монтирования рабочей области пользователя upk.
128
Рассматривая базовые концепции ОС (подраздел 1.7), было отмечено, что концепция пользователя является второй по значимости после концепции файла.
С другой стороны, концепция пользователя интенсивно используется и в концепции процесса, что связывает их воедино, образуя три базовых концепции ОС.
Взависимости от контекста, термин пользователя понимается как:
•человек, работающий за терминалом компьютера;
•концептуальная основа выделения владельцев, группы и других, связанные с концепциями файла и процесса;
•система обозначений, использующая имена и числовые идентификаторы, распространяемая на все ПО ЭВМ;
•система разграничений, ограничивающая и специализирующая права ис-
пользования ПО ЭВМ.
Кроме перечисленных выше, имеются специальные режимы использования ОС и ЭВМ, которые связаны с настройкой, инсталляцией и промежуточными этапами загрузки ОС.
Подобное многообразие взглядов порождает еще большее многообразие зависимостей, что влияет не только на работу отдельной ОС, но и распространяясь на социум, порождает новые технологические подходы к архитектуре современных ОС.
Чтобы успешно разобраться в указанных проблемах и освоить данную тему, учебный материал разбит на четыре части:
многопользовательский режим работы ОС, как альтернатива однопользовательскому, порождающий многобразие взглядов, уже указанных выше;
разграничение прав пользователей, как техническая основа функционирова-ния ОС;
login и система PAM, как реализация эффективного использования ПО ОС;
команды управления пользователями, как управляющая часть организации многопользовательского режима работы ОС.
Первоначально, когда ОС еще не было, а использовалась пакетная обработка программ или программы супервизоры, понятие пользователя использовалось в чисто внешнем организационном плане: как лицо, передающее программу в службу ВЦ (вычислительного центра) на исполнение.
В1974 году, Гари Килделл преподаватель информатики в аспирантуре военно-мор- ского колледжа в Монтерее (Калифорния) закончил писать свою ОС для микрокомпьютера intel 8080, которую он назвал CP/M.
CP/M - Control Program for Microcomputers.
В1980 году, фирма Microsoft приобрела у Seattle Computer лицензию на довольно
129
сырую и недоработанную операционную систему 86-DOS. Немного доработав, Билл Гейтс предложил использовать ее в качестве MS-DOS в первом персональном компьютере фирме IBM.
MS-DOS — доработанная 86-DOS фирмы Seattle Computer, способная запускать все программы ОС CP/M.
Характерная черта MS-DOS и CP/M — однозадачный режим работы на изолированном компьютере, что собственно говоря и не требовало ставить вопрос об использовании их многими пользователями. Эта черта в последующем отразилась и на ОС MS Windows:
•автоматическое монтирование всех файловых систем при старте ОС;
•отсутствие концепции пользователя в низкоуровневых структурах ФС.
История ОС UNIX начинается с середины 60-х годов, на фоне проекта операционной системы MULTICS, который разрабатывался в Bell Labs., подразделении гиганта AT&T.
Первое издание UNIX, появившееся в ноябре 1971 года, работало на PDP-11/20 без MMU и аппаратной защиты памяти. Стабильность ее работы и устойчивость к сбоям была не на высоте. Мультипрограммности тоже не было, но пути к файлам
уже появились. Была документация к таким системным вызовам:
break, cemt, chdir, chmod, chown, close, creat, exec, exit, fork,
fstat, getuid,gtty, ilgins, intr, link, mkdir, |
mount,open, |
quit, |
read, rele, seek, setuid, smdate, stat, stime, |
stty, tell, |
time, |
umount, unlink,wait, write. |
|
|
Из языков программирования поддерживались ассемблер, B, BASIC, FORTRAN. Языка С еще не было. Хотя явное упоминание о поддержке многопользовательского режима отсутствует, наличие команд chown, getuid и setuid говорит о том, что в
файловой системе концепция пользователя уже была заложена.
Современное понятие однопользовательского режима означает не тот факт, что ОС не может поддерживать многопользователский режим, а то что:
•или отключен контроль разграничения прав пользователей, при одновременной изляции ЭВМ от внешних воздействий, например, отключение от сети;
•или остановлена работа программ всех пользователей, кроме администра-
тора, например, суперпользователя root. Например, современные ОС загружаются в два этапа:
•на первом этапе, после загрузки и запуска ядра ОС специальным загруз-
чиком, например GRUB, ядро распаковывает в оперативную память временную файловую систему и запускает первый процесс init; сам процесс init — обычно скрипт, выполняемый интерпретатором shell, устанавливает необходимые модули ОС, ищет и монтирует корневую файловую систему, создает терминальные устройства и запускает на них программы login, удаляет временную файловую систему и завершает работу; все это делается в
однопользовательском режиме ОС;
•на втором этапе, пользователи, которые начинают проходить процедуру login, работают уже в многопользовательском режиме ОС.
130
Замечание
Практически всегда, под именем пользователя понимается контекст, соответствующий понятию владелец, который относятся применительно к файлам и процессам.
Информационное обеспечение многопользовательского режима ОС, прежде всего, поддерживается группой системных файлов.
Файл /etc/passwd, каждая строка которого имеет формат:
username:password:UID:GID:GEOS:homedir:shell
где
username |
Имя пользователя, используемое для входа в систему. Содержит слово |
|
(ранее - до 8 букв). Заглавные буквы не допускаются. |
password |
Hash-код пароля. Сейчас ставится символ x, а hash-код пароля |
|
перенесен в файл /etc/shadow. |
UID |
Число-идентификатор пользователя. |
GID |
Число-идентификатор основной группы, в которую входит пользова- |
|
тель. |
GEOS |
Любая информация. |
homedir |
Домашняя директория пользователя. |
shell |
Командный интерпретатор пользователя, который запускается при его |
|
входе в систему. Список возможных интерпретаторов находится в |
|
файле /etc/shells. Если имя пользователя не предназначено для |
|
интерактивной работы с ОС, то указывается /bin/false или |
|
/bin/nologin |
Учитывая большую важность этой информации, содержимое файла /etc/passwd
дублируется в файл /etc/passwd-.
Информация о группах пользователей и дубль этой информации хранятся в файлах
/etc/group и /etc/group-, в формате:
groupname:password:GID:userlist
где |
|
groupname |
Имя группы с теми же ограничениями, что и имена |
|
пользователей. |
password |
Hash-код пароля (если пароль имеется). Сейчас ставится символ |
|
x, а hash-код пароля перенесен в файл /etc/gshadow. |
GID |
Число-идентификатор группы. |
userlist |
Список пользователей, входящих в группу, разделенных |
|
запятыми. Первый пользователь в списке — администратор |
|
группы. |