Лабораторная работа права доступа linux

Теоретические сведения

В ОС Linux существует три типа пользователей: пользователь root, обычные пользователи и системные пользователи. Каждый пользователь имеет в системе учетную запись.

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

Зашифрованные пароли обычно хранятся /etc/shadow

Системный пользователь – это не человек, а процесс, выполняющийся на компьютере. В отличии от обычных пользователей системные пользователи не имеют начальных каталогов и паролей, поэтому в систему нельзя войти под именем системного пользователя.

2. Идентификаторы пользователей и групп.

Компьютер – это машина, работающая с числами. Он идентифицирует пользователей по номерам, известным, как идентификатор пользователя (UID) и идентификатор группы (GID). Пользователь root имеет неограниченные права в системе, его UID, GID равны 0.

Идентификаторы в диапазоне от 1 до 499 и 65534 зарезервированы для системных пользователей. Идентификаторы для людей начинаются с 500.

Вход пользователя root сигнализируется знаком # в начале командной строки в консоли. Обычный пользователь обозначается знаком $, например:

3. Права доступа

Права доступа бывают трех видов:

read (чтение) write (запись) execute (выполнение)

Также каждый вид прав имеет цифровой аналог:

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

Команды изменения прав группы, пользователя или доступа к файлу или каталогу:

chgrp — изменение принадлежности файла или каталога к определенной группе

chown — изменяет владельца файла или каталога

chmod — изменяет режим доступа к файлу или каталогу.

ls l — узнать текущие атрибуты/права доступа,

id – определить текущего пользователя.

4. Представление прав доступа

Основные атрибуты прав доступа можно представить в виде двенадцати битов двоичного числа, равных 1, если атрибут установлен, и 0, если нет. Порядок битов в числе следующий:

t — это t-атрибут (sticky–бит), после чего следуют три тройки атрибутов доступа:

rU|wU|xU — права чтения (Read), записи (Write) и выполнения (eXecute) для владельца файла (User);

rG|wG|xG — права чтения (Read), записи (Write) и выполнения (eXecute) для группы файла (Group);

rO|wO|xO — права чтения (Read), записи (Write) и выполнения (eXecute) для всех остальных (Other).

Читайте также:  Remove repository in linux

Процессы с установленным битом sU выполняются с правами владельца. А с установленным битом sG – с правами группы.

В каталоге с установленным sticky–битом удалять файлы может только владелец или root. При том устанавливать этот бит может только root, а сбрасывать может владелец и root.

Например, команда ls -l выводит права доступа в таком формате:

rwrwrw Первая черточка — обычный файл, и 9 прав доступа — все могут читать и изменять.

drwx—— Каталог, полный доступ (чтение, изменение, выполнение) имеет только владелец файла.

rwr—— Обычный файл, владелец может читать и изменять, группа — читать, остальные — не имеют прав.

drwxrxr Каталог, владелец имеет полный доступ, группа — чтение и выполнение, остальные — только чтение.

drwxrwxrwt Каталог, все имеют полный доступ, однако, установлен sticky–бит, поэтому права записи в каталог для членов группы и для посторонних ограничены их собственными файлами, и только владелец имеет право изменять список файлов в каталоге, как ему вздумается. Такие каталоги называются разделяемыми, потому что предназначены они, как правило, для совместной работы всех пользователей в системе, обмена информацией и т. п. При установке атрибута «t» доступ на выполнение для посторонних («t» в строчке атрибутов стоит на месте последнего «x») не отменяется. Просто они так редко используются друг без друга, что ls выводит их в одном и том же месте. Если кому-нибудь придёт в голову организовать разделяемый каталог без доступа посторонним на использование, ls выведет на месте девятого атрибута не «t», а «T».

rwsxx Обычный файл, установлен атрибут SetUID. Как и в случае с t-атрибутом, ls выводит букву «s» вместо буквы «x» в тройке «для владельца». Точно так же, если соответствующего x-атрибута нет (что бывает редко), ls выведет «S» вместо «s».

rwxsx Обычный файл, установлен атрибут SetGID. Утилита ls выводит SetGID в виде «s» вместо «x» во второй тройке атрибутов («для группы»). Замечания касательно «s», «S» и «x» действительны для SetGID так же, как и для SetUID.

Читайте также:  Kali linux режим windows

Права доступа представляются также в двоичном и восьмеричном виде.

Примеры записи прав доступа в двоичной форме

все могут читать и изменять

владелец имеет все права, группа — чтение, остальные не имеют никаких прав

установлен t-атрибут, владелец имеет все права, группа — чтение, остальные не имеют никаких прав

установлен атрибут SetGID, владелец имеет все права, группа — чтение, остальные не имеют никаких прав

установлен атрибут SetUID, владелец имеет все права, группа — чтение, остальные не имеют никаких прав

Примеры записи прав доступа в восьмеричной форме

все могут читать и изменять

владелец имеет все права, группа — чтение, остальные не имеют никаких прав

установлен t-атрибут, владелец имеет все права, группа — чтение, остальные не имеют никаких прав

установлен атрибут SetGID, владелец имеет все права, группа — чтение, остальные не имеют никаких прав

установлен атрибут SetUID, владелец имеет все права, группа — чтение, остальные не имеют никаких прав

Особенности доступа к каталогам

Каталог — это особый тип файла. Его содержание — это список других файлов. Каталоги имеют те же «биты прав», что и остальные файлы. Однако то, что эти права означают может быть не таким простым для понимания.

Если каталог можно читать (r), то это означает, что разрешено только узнать список файлов, содержащихся в этом каталоге. Только список файлов, но не их свойства (размер, права доступа и др.).

Если каталог можно исполнять (x), то это означает, что в него можно заходить и просматривать содержимое файлов (доступ к которым разрешен для данной категории), узнавать свойства (атрибуты) файлов. Можно изменить содержимое файла (если его разрешено менять), но не имя файла.

Если каталог можно изменять (w), то это означает, что в нем можно изменять файлы, их имена, удалять их. Опасность! Это можно делать даже с файлами, доступ к которым запрещен для данной категории. Лечение! Вводят дополнительный t-бит. При его наличии пользователь может изменять только свои файлы.

— доступ к конкретному файлу также зависит от наличия доступа на исполнение к каталогам на протяжении всего пути;

Читайте также:  1с лицензирование сервера linux

— изменять существующие файлы можно, не имея доступа на запись в каталог, достаточно иметь доступ на запись самого файла.

Источник

Цель лабораторной работы

Ознакомиться с правами доступа в операционной системе Linux, понять структура прав доступа, а также освоить основные команды по обработке и управлению доступа.

Задача лабораторной работы

Изучить права доступа к файлам в Linux.

Используемое программное обеспечение

Для выполнения лабораторной работы используется установленный дистрибутив ОС Linux.

Задание на лабораторную работу

  1. Ознакомиться с командами Linux для управления доступом.
  2. Создать две группы с названием group1 и group2.
  3. Создать пять пользователей с именами user1, user2 … user5 и добавить их в группу согласно приведенной ниже таблице (Таблица 1).

  1. Авторизоваться за каждого пользователя и создать в домашнем каталоге структуру каталогов и файлов. Структура приведена на рисунке 1.

Рисунок 1 – Структура каталогов и файлов.

  1. Дать доступ для редактирования file2 второму пользователю.
  2. Дать доступ для редактирования file3 всем пользователям.
  3. Дать доступ для чтения и редактирования file4 первому и второму пользователю.
  4. Дать доступ для запуска test3 только первому пользователю.
  5. Запретить доступ для запуска test1 первому пользователю.
  6. Запретить доступ для чтения file5 третьему и пятому пользователю.
  7. Запретить доступ для запуска test2 всем пользователям.
  8. Запретить доступ для редактирования file7 третьему и четвертому пользователю, но разрешить всем остальным.
  9. Дать доступ для чтения и редактирования file1 пятому пользователю, всем остальным запретить.
  10. Дать доступ для чтения и редактирования file6 первому и второму пользователю, остальным запретить.

Порядок выполнения работы

  1. С помощью команды useradd создаем пользователей. С помощью команды usermod добавляем пользователей в группу. (Рисунок 2).

Рисунок 2 – Создание пользователей и добавление их в группу

Рисунок 3 – Создание каталогов

Рисунок 4 – Создание групп и добавление в них пользователей

Рисунок 5 – Создание файлов

Рисунок 6 – Вызов программы test1

Рисунок 7 – Компиляция программы

Рисунок 8 – Предоставление прав владельца пользователям

Рисунок 9 – Определение каталога в группу

Рисунок 10 – Изменение режима доступа к файлам

Вывод

В данной лабораторной работе были изучены права доступа в операционной системе Linux, а именно: структура прав доступа и основные команды по обработке и управлению правами доступа.

Источник

Оцените статью
Adblock
detector