Главная страница
Навигация по странице:

  • 3.2. Права доступа к каталогам

  • 3.3. Изменение прав доступа к файлам

  • 3.4. Дополнительные атрибуты файлов

  • Пример

  • 3.6. Делегирование полномочий

  • Пример файла

  • Практическое занятие 4 ЭТАПЫ ЗАГРУЗКИ СИСТЕМЫ. УПРАВЛЕНИЕ УРОВНЯМИ ИСПОЛНЕНИЯ 4.1. Этапы загрузки

  • Определение текущего уровня выполнения

  • 4.3. Перевод системы на некоторый уровень выполнения. Файл /etc/inittab

  • Практикум_OC_Linux. Ос unixлабораторный практикум


    Скачать 0.57 Mb.
    НазваниеОс unixлабораторный практикум
    Дата25.09.2022
    Размер0.57 Mb.
    Формат файлаpdf
    Имя файлаПрактикум_OC_Linux.pdf
    ТипПрактикум
    #695123
    страница3 из 6
    1   2   3   4   5   6
    3.1. Права доступа к файлам
    Права доступа к файлам можно задавать в символьной или в чи- словой форме. Соответствие символов и цифр правам приведено в табл.3.1.
    Таблица 3.1
    Символ
    Цифра Описание r
    4
    Пользователь имеет право открытия и чтения содержимого файла w
    2
    Пользователь имеет право записи в файл x
    1
    Пользователь имеет право запуска файла (про- граммы, скрипта)
    -
    0
    Пользователь не может прочесть, записать или запустить файл
    Пример
    ls –l /export/home/vova
    -rwxrw-r-- 1 vova other 109056 Aug 03 15:27 my_file.txt
    В приведенном примере владелец файла my_file.txt
    (поль- зователь vova
    ) имеет права rwx
    (право на чтение, запись и испол- нение), члены группы other имеют права rw-
    (права на чтение и запись), а все остальные пользователи имеют права r--
    (только на чтение).
    24

    3.2. Права доступа к каталогам
    Задание прав доступа к каталогам аналогично заданию прав до- ступа к файлам, но сами права для каталогов имеют несколько дру- гой смысл (см.табл.3.2).
    Таблица 3.2
    Символ
    Цифра Описание r
    4
    Пользователь имеет право просматривать спи- сок файлов в каталоге w
    2
    Пользователь имеет право создавать или уда- лять файлы из каталога x
    1
    Пользователь имеет право запуска файла (про- граммы, скрипта)
    -
    0
    Пользователь не может просматривать содер- жимое каталога, создавать или удалять файлы в каталоге
    3.3. Изменение прав доступа к файлам
    Изменение прав доступа может проводиться только владельцем файла (только для тех групп, которым принадлежит владелец) или суперпользователем. Команды изменения прав доступа приведены в табл. 3.3.
    Таблица 3.3
    Команда
    Описание ls
    Вывод информации о файлах и каталогах chown
    Смена владельца файла chgrp
    Смена группы файла chmod
    Смена прав доступа
    Пример
    ls –l /export/home/vova
    -rwxrw-r-- 1 vova other 109056 Aug 03 15:27 my_file.txt chmod 600 my_file.txt ls –l /export/home/vova
    -rw------- 1 vova other 109056 Aug 03 15:27 my_file.txt
    25

    3.4. Маскирование прав
    Все вновь создаваемые обычные файлы в ОС Unix получают права доступа rw-
    , а каталоги – rwx
    . Можно изменить права, на- значаемые вновь создаваемым файлам и каталогам, с помощью ко- манды umask
    . Маска, назначаемая командой umask
    , вычитается из маски по умолчанию.
    Команда umask без опций позволяет узнать текущее значение маски.
    Примеры задания маски приведены в табл.3.4.
    Таблица 3.4
    Символьный вид
    Число- вой вид
    Маска по умолчанию для файла rw-rw-rw-
    666
    Маска по умолчанию для ката- лога rwxrwxrwx
    777
    Значение umask
    ----w—wx
    023
    Права на вновь созданный файл rw-r--r--
    644
    Права на вновь созданный ка- талог rwxr-xr--
    754
    3.4. Дополнительные атрибуты файлов
    К дополнительным атрибутам защиты файлов относятся setuid bit
    (смена эффективного идентификатора пользователя), setgid bit
    (смена эффективного идентификатора группы) и sticky bit
    (“липкий” бит). Описание дополнительных атрибутов приве- дено в табл. 3.5.
    Таблица 3.5
    Атрибут
    Описание setuid bit
    Бит смены эффективного идентификатора пользова- теля. При запуске исполняемого файла с установ- ленным setuid bit программа будет выполнять- ся с правами того пользователя, которому принад- лежит файл
    26

    Продолжение таблицы 3.5
    Атрибут
    Описание setgid bit
    Бит смены эффективного идентификатора группы.
    При запуске исполняемого файла с установленным setgid bit программа будет выполняться с пра- вами той группы, которой принадлежит файл sticky bit
    “Липкий” бит. Если на каталог установлен sticky bit,
    то файлы в каталоге может удалить или пере- именовать только тот пользователь, кто имеет право на запись в каталог и является (одним из):
    - владельцем файла,
    - владельцем каталога,
    - суперпользователем.
    Если значение sticky-bit равно t
    , то бит испол- нения для всех пользователей включен, если значе- ние sticky-bit равно
    T
    , то бит исполнения для всех пользователей выключен.
    Дополнительные атрибуты устанавливаются с помощью ко- манды chmod
    Пример
    chmod +t my_file.txt ls –l myfile.txt
    -rw------t 1 vova other 109056 Aug 03 15:27 my_file.txt
    3.5. Списки управления доступом
    Списки управления доступом (
    Access Control List
    ) позво- ляют расширить модель разграничения прав доступа. С помощью
    ACL
    можно устанавливать отдельные права доступа для любого пользователя и для любой группы.
    Просмотреть права, установленные с помощью
    ACL
    , можно с помощью команды getfacl
    , установить, изменить или удалить права – с помощью команды setfacl
    27

    3.6. Делегирование полномочий
    Наделение пользователя правами доступа к ресурсам осуще- ствляется через включение пользователя в группу и назначение прав доступа к файлам. Более гибкий способ – использование
    SUID
    -программ, что позволяет наделить пользователей правами владельца программы.
    Для временной смены бюджета может быть использована su
    Если используется форма
    «su –»
    , окружение будет соответство- вать новому пользователю.
    Права выполнения ряда административных действий могут быть назначены с использованием системы RBAC – системе регу- лирования прав доступа, основанной на ролях (специфична для ОС
    Solaris).
    В большинстве систем UNIX может быть использовано сред- ство sudo. Для предоставления прав запуска программ редактиру- ется файл
    /etc/sudoers
    , который следует редактировать про- граммой visodo
    . Ключевые слова, используемые в файле, приве- дены в табл. 3.6.
    Таблица 3.6
    Ключевое слово
    Смысл
    Host_Alias
    Список компьютеров
    Cmnd_Alias
    Список команд
    User_Alias
    Список пользователей
    Runas_Alias
    От имени кого запускать
    Пример файла
    /etc/sudoers
    (фрагмент)
    Пользователю pete разрешено менять пароль всех пользова- телей, кроме root:
    Host_Alias HPPA=moon,sun pete HPPA=/usr/bin/passwd [a-z]*,!/usr/bin/passwd\ root
    28

    Упражнения
    1. Удалите полностью содержимое каталога /work
    2. Определите, какие права доступа определены для файла
    /usr/bin/su
    3. Определите, какие права доступа определены для файла
    /etc/passwd
    4. Определите, какие права доступа определены для файла
    /etc/shadow
    5. Создайте текстовый файл /work/file01, который может чи- тать и изменять только пользователи, принадлежащие группе staff.
    6. Создайте текстовый файл /work/file02, который не могут читать и изменять пользователи, принадлежащие группе staff, а все остальные могут.
    7. Создайте текстовый файл /work/file03, который могут чи- тать и изменять все пользователи системы.
    8. Создайте каталог /work/dir01, в котором любой пользователь может создавать, удалять и запускать файлы.
    9. Создайте каталог /work/dir02, в который пользователи груп- пы staff не могут входить, а все остальные могут.
    10. Установите значение umask так, чтобы файлы создавались с правами 600, а каталоги – 700.
    11. Установите значение umask так, чтобы файлы создавались с правами 640, а каталоги – 740.
    12. Объясните, для чего на программу passwd установлены атри- буты setuid bit и setgid bit.
    13. Определите все программы в каталоге /usr/bin, на которые установлены атрибуты setuid bit и setgid bit.
    14. Объясните, для чего на каталог /tmp установлен атрибут sticky bit.
    29

    15. Установите права на новый файл /work/file05 таким об- разом, чтобы у членов группы noaccess не было никаких прав на файл, у группы staff были бы все права, а у группы other – только права на чтение.
    16. Уберите ограничение на доступ к файлу /work/file05 для группы noaccess.
    17. От имени нескольких пользователей создайте файлы в их до- машних каталогах. У пользователей должна быть разная группа по умолчанию. Файлы одного из пользователей не должны быть вид- ны другим пользователям, за исключением одного (используйте списки управления доступом).
    18. Пошлите сообщение от одного пользователя другому в задан- ное время. Наделите этим правом только некоторых пользователей.
    19. Делегируйте одному из пользователей право изменять пароль других пользователей, кроме суперпользователя. Право изменять пароль конкретного пользователя, двух избранных пользователей.
    20. Разрешите одному из пользователей создавать пользователей и менять их учетную информацию (Указание: имена пользователей могут начинаться на одну букву, например, a).
    21. Наделите одного пользователя правом на резервное копирова- ние (архивирование) домашних каталогов, а другого – правом на восстановление из резервных копий (см. практическое занятие 5, табл. 5.7).
    30

    Практическое занятие 4
    ЭТАПЫ ЗАГРУЗКИ СИСТЕМЫ. УПРАВЛЕНИЕ УРОВНЯМИ
    ИСПОЛНЕНИЯ
    4.1. Этапы загрузки
    Процесс загрузки операционной системы можно разбить на четыре основных этапа – этап аппаратной загрузки, программная загрузка, загрузка ядра и этап процесса init
    (табл. 4.1 и 4.2).
    Таблица 4.1
    Этап загрузки системы SPARС
    Описание
    Boot PROM
    1.
    PROM
    выводит идентификационную инфор- мацию о системе и проводит базовую диагно- стику оборудования
    2.
    PROM
    загружает первичную программу за- грузки bootblk
    , которая находится в файло- вой системе ufs устройства, с которого произ- водится загрузка
    Boot
    Programs
    3. bootblk находит и запускает ufsboot
    вторичную программу загрузки
    4. ufsboot загружает ядро операционной си- стемы
    Kernel
    Initializa- tion
    5. Ядро инициализируется и подгружает необ- ходимые модули. После загрузки модулей для доступа к ufs
    , оно выгружает ufsboot
    6. Ядро запускает процесс init.
    Init
    7.
    /sbin/init запускает процессы, указан- ные в etc/inittab и скрипты уровней вы- полнения
    31

    Для архитектуры x86 количество этапов загрузки остается прежним, но меняется их содержание.
    Таблица 4.2
    Этап загрузки системы х86
    Описание
    BIOS
    1.
    BIOS
    проводит серию тестов для диагностики оборудования
    2.
    BIOS
    пытается прочитать первый сектор устройства, с которого производится загрузка и запускает программу mboot mboot содержит информацию о разметке диска
    Boot Pro- grams
    3. mboot запускает pboot
    4. pboot запускает основную программу за- грузки bootblk
    , которая находится в файловой системе ufs устройства, с которого производит- ся загрузка
    5. Если в системе присутствует более чем один загрузочный раздел, то bootblk выводит меню для выбора раздела
    6. bootblk находит и запускает boot/bin или ufsboot
    – вторичную программу загрузки.
    7. boot/bin или ufsboot загружает ядро опера- ционной системы
    Kernel Ini- tialization
    8. Ядро инициализируется и подгружает необхо- димые модули. После загрузки модулей для до- ступа к ufs
    , оно выгружает ufsboot
    9. Ядро запускает процесс init
    Init
    10.
    /sbin/init запускает процессы, указан- ные в
    /etc/inittab и скрипты уровней вы- полнения
    32

    4.2. Уровни выполнения
    ОС Unix может работать в нескольких режимах (на нескольких уровнях). В ОС Solaris предусмотрены следующие основные уров- ни выполнения (см.табл. 4.3)
    Таблица 4.3
    Обозна- чение
    Уровень
    Описание
    0
    PROM / BIOS Перевод системы в режим PROM/BIOS
    s
    Однопользо- вательский
    Однопользовательский режим, файловые системы не монтируются), доступна только физическая системная консоль
    S
    Однопользо- вательский
    Аналогичен s
    , но права системной консо- ли передаются терминалу, с которого вы- полнен вход в систему (виртуальная си- стемная консоль)
    1
    Однопользо- вательский
    Однопользовательский режим, файловые системы монтируются
    2
    Многопользо- вательский
    Многопользователький режим, пользова- тели могут входить в систему, не запус- кается демон NFS
    3
    Многопользо- вательский с
    NFS
    Многопользователький режим, пользова- тели могут входить в систему, запускает- ся демон NFS
    4
    Не использу- ется
    Может применяться администратором по своему усмотрению
    5
    Выключение питания
    Останов системы и выключение питания
    6
    Перезагрузка
    Перезагрузка и переход на уровень вы- полнения по умолчанию
    33

    Определение текущего уровня выполнения
    Текущий уровень выполнения можно определить с помощью команды who -r
    :
    run-level 3 Sep 1 14:45 3 0 S
    |
    |
    | предыдущий уровень текущий уровень выполнения
    Протокол загрузки системы отображает команда dmesg
    , использу- емые драйверы – prtconf
    4.3. Перевод системы на некоторый уровень выполнения.
    Файл /etc/inittab
    Команды, используемые для изменения уровня выполнения, приве- дены в табл. 4.4.
    Таблица 4.4
    init уровень
    telinit уро- вень
    Без аргументов команда init переводит систе- му на уровень по умолчанию.
    telinit передает команду init shutdown
    Переводит систему на указанный уровень (по умолчанию s
    ), посылает предупреждения поль- зователям halt
    Перевод системы на уровень 0, при этом rc0
    не используется poweroff
    Останов системы с выключением питания.
    -n - не делать sync reboot
    Перезагрузка до уровня выполнения по умолча- нию
    Перевод системы на определенный уровень выполнения осуще- ствляет процесс init
    . Процесс init использует конфигураци- онный файл
    /etc/inittab для определения того, какие действия
    34
    он должен выполнить для перевода системы на определенный уро- вень.
    Строки файла
    /etc/inittab имеют следующий формат:
    id:rstate:action:process
    | | | |
    | | | полный путь к выполняемому файлу
    | |
    действие с полем process
    |
    список уровней выполнения уникальный идентификатор записи
    Уровни выполнения в поле rstate перечисляются без разделителей. Ключевые слова поля action
    :
    initdefault
    – уровень выполнения по умолчанию указан в поле rstate,
    respawn
    – запустить или возобновить процесс, если он не выполняется,
    powerfail
    – действия при сбое питания,
    powerwait
    – при сбое питания запустить и ожидать завершения,
    sysinit
    – инициализация системы,
    wait
    – ожидать завершения процесса,
    once
    – выполнить,
    boot
    – выполняется на этапе загрузки,
    bootwait
    – то же, но ожидает завершение процесса,
    off
    – если процесс выполняется – остановить.
    Пример
    1:2345:respawn:/sbin/mingetty tty1
    4.4. Автоматический запуск служб (сервисов)
    В числе процессов, указанных в файле inittab
    , есть rc- скрипты, выполняющие скрипты из каталога
    /etc/init.d
    , ссылки на которые размещены в каталогах
    /etc/rcX.d
    , где X – уровень, выполнения, на который переходит система. При повышении уровня запускаются скрипты по ссылке из каталога
    35
    целевого уровня S* с аргументом start
    , при понижении –
    К*
    с аргументом stop
    Для автоматизации запуска и остановки какой-либо службы необходимо выполнить следующую последовательность действий:
    - в каталоге /etc/init.d создать скрипт, который принимает в качестве параметров start/stop и выполняет соответствующие действия для сервиса;
    - создать ссылку на созданный скрипт из каталога, соответствую- щего уровню, на котором следует запускать сервис; при этом ссыл- ка должна начинаться с заглавной буквы S;
    - создать ссылку на созданный скрипт из каталога, соответствую- щего уровню, на котором следует остановить сервис; при этом ссылка должна начинаться с заглавной буквы К.
    Обычно после соответствующей начальной буквы указывают две цифры, что позволяет упорядочить последовательность запус- ка скриптов. Часть имени после цифр поясняет назначение скрип- та. Если необходимо временно отключить автоматический запуск процесса – можно переименовать ссылку, заменив заглавную букву на строчную.
    Упражнения
    1. Переведите систему на уровень выполнения
    S
    2. Загрузите её на уровень выполнения по умолчанию.
    3. Определите текущий уровень выполнения системы. Перейдите на нижележащий уровень. Вернитесь обратно.
    4. Остановите систему максимально быстро.
    5. Остановите систему с отсрочкой на 3 минуты и выдачей преду- предительного сообщения.
    6. Перезагрузите систему, используя три разные команды.
    7. Выведите на экран протокол начальной загрузки системы. Какие устройства были опознаны и сконфигурированы системой?
    8. Создайте скрипт, который будет при запуске с параметром start выводить на консоль сообщение ”Start service”, а при запуске с параметром stop – сообщение ”Stop service”.
    36

    Пропишите ссылку на созданный скрипт для запуска сервиса в самом начале 2-го уровня, а для автоматического останова – в самом конце уровня s.
    9. Напишите скрипты, выдающие соответствующее сообщение при переходе с уровня на уровень. Проверьте последовательность вы- зова при переходе с повышением уровня и понижением, при пере- ходе на смежные и несмежные уровни, начальной загрузке и оста- нове. Используйте механизм rc-каталогов.
    10. Измените уровень выполнения по умолчанию. Убедитесь, что изменения вступили в силу.
    11. Запустите «неубиваемую» программу, работающую на задан- ных уровнях.
    12. Отмените графический вход в систему. Проверьте путем пе- резагрузки системы. Восстановите графический вход.
    13. Создайте стартовый скрипт, имя которого не содержит цифр.
    Выполняется ли он, если да – каким по счету?
    14. Запустите программу так, чтобы она выполнялась только на уровне 2. Перейдите на уровень 3 с нулевого. Перейдите на уро- вень 2, затем на уровень 3. Запускалась ли программа?
    15. Находясь на 3-м уровне выполнения, остановите какую-либо службу, оставаясь на том же уровне. Затем запустите её.
    16. Посмотрите rc-сценарии. Как их модифицировать, чтобы при переходе с уровня на уровень вызывались скрипты, имя которых начинается с какой-либо другой буквы, например,
    A
    ?
    17. Напишите скрипт, который выдает на терминал аргумент, пере- данный ему при запуске и текущий уровень выполнения. Разме- стите его в rc* каталоге. Определите моменты его вызова, переводя систему на разные уровни.
    18. Остановите машину с выключением питания.
    37

    Практическое занятие 5
    1   2   3   4   5   6


    написать администратору сайта