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




УПРАВЛЕНИЕ ПОЛЬЗОВАТЕЛЯМИ И ОБЕСПЕЧЕНИЕ БЕЗОПАСНОСТИ В ОС LINUX

Цель работы: приобрести опыт запуска и настройки общесистемных сервисов, управления пользователями и обеспечение безопасности.

Краткие сведения из теории:

Для создания группы используется команда addgrоup, например, addgroup g301. Для создания пользования используется команда adduser, например, adduser anton passwd anton.

При создании группы, пользователя в файлы passwd, group каталога /etc вносится информация о пользователе и группе. Одна учетная запись соответствует одному пользователю и одной группе. Учетная запись пользователя содержит следующую информацию:

имя пользователя;

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

каталог пользователя; интерпретатор команд. Например,

anton:*:100:1000::/home/usr:/bin/bash

Учетная запись группы содержит следующую информацию: имя группы; пароль в закодированном виде; целочисленный идентификатор группы; список имен пользователей группы.

Например, g301:*:1000: anton

Чтобы удалить пользователя, группу используются команды: userdel, delgroup

соответственно.

Чтобы изменить пользовательскую, групповую принадлежность, используются команды

chown, chgrp.

Например, chown user file1 chgrp it402 file1

Изменение пароля осуществляется командой passwd, например,

passwd anton. Введите пароль, повторите пароль, тем самым вы измените пароль указанному пользователю.

Права доступа к файлам и каталогам

Права доступа к файлам разделяются на три категории: права владельца файла, права группы связанной с файлом, и права всех остальных пользователей. Каждая категория имеет свой набор прав доступа к файлу, которые обеспечивают возможность чтения из файла, записи в файл и его выполнения (или, наоборот, запрещают эти действия). Права доступа называются также режимом доступа к файлу. Режимы доступа к файлу устанавливаются с помощью команды chmod.

Вы можете проверить, какие права по умолчанию установлены для файла, который вы создали. Для этого можно воспользоваться командой uname. Ниже дан практический


 

пример создания файла с помощью команды touch и проверки прав доступа к нему с помощью команды ls:

 

$ touch file

$ ls –l file

-rw-rw-r-- 1 bbal bball 0 jul 23 12:28 file

Рассмотрим вывод команды ls подробнее.

•Права доступа к файлу представляют собой группу символов: -rw-rw-r--. Первый символ (-

) указывает на тип объекта. Дефис говорит о том, что это обычный файл, d означает каталог, c – символьное устройство, b указывает на блок-ориентированное устройство.

•Права доступа указываются последовательно – для пользователя, группы и всех остальных. Отсутствие права на какой-либо вид доступа обозначается знаком дефиса. Тремя основными типами прав доступа являются: r – право на чтение, w – право на запись и x – право на выполнение.

•Далее следует число ссылок на данный файл.

•Владелец. Другими словами, здесь указывается, какой учетной записи принадлежит этот файл. Изменить владельца можно с помощью команды chown.

•Группа, к которой принадлежит пользователь. Обычно члены этой группы имеют более свободные права доступа к файлу, в отличие от всего остального мира.

•Размер файла и дата его создания (модификации).

Назначение прав доступа

Права доступа к объекту могут быть заданы двумя способами: в цифровой или в буквенной форме. При использовании буквенной формы эти три категории обозначаются так: u – пользователь (владелец), g – группа, o – остальные и a – все эти категории вместе. Тремя основными типами прав доступа являются: r – право на чтение, w – право на запись и x – право на выполнение. Комбинации r, w и x для трех категорий и являются правами доступа к файлу:

User Group Others

rwx rwx rwx

Многие пользователи предпочитают представлять права доступа с помощью цифрового кода, базирующегося на 8-ричной системе счисления. Ниже даны значения прав доступа в числовой нотации:

•4 означает право на чтение;

•2 означает право на запись (модификацию);

•1 означает право на выполнение.

Предыдущий пример (-rw-rw-r--) в восьмеричной нотации записывается короче – 664. Получается это число просто: старший разряд – права владельца файла, т.е. чтение и запись (4+2), далее идет группа (4+2) и весь остальной мир (только чтение – 4).

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

В Linux, как и в остальных UNIX, каталоги также считаются файлами. Например, выполним следующую команду ls, чтобы увидеть разрешения на доступ:

$ mkdir foo

$ ls –ld foo

drwxrwxr-x 2 bball bball 4096 jul 23 12:37 foo

В данном примере команда mkdir создает каталог. Команда ls с параметром –ld отображает разрешения на доступ и иную информацию, касающуюся этого каталога в целом, но не его содержание. Здесь можно видеть, что права доступа к каталогу имеют значения 775 (владелец имеет все права 4+2+1, группа также все права, а весь остальной мир не может ничего изменять в нем 4+1).

Отсюда видно, что владелец и члены группы могут выводить содержание каталога и записывать в него. Все остальные пользователи могут только выводить содержание каталога. (Чтобы увидеть содержание каталога, необходимо иметь разрешение на выполнение).

Заметили, что в выходных данных команды ls в правах доступа стоит первой буква d. Это значит, что данный файл является каталогом; у обычного файла на этом месте стоит пробел. Другие буквы указывают на специальный тип файла. Например, если с помощью команды ls вывести информацию о файле устройства для последовательного порта, то можно увидеть следующее:

$ ls –l /dev/ttyS0

crw-rw---- 1 root uucp 4,64 Mar 23 23:38 /dev/ttyS0

Файл /dev/ttyS0 представляет символьное устройство (последовательный порт); владеет данным файлом пользователь root и этот файл доступен также любому члену группы uucp. Права доступа к файлу имеют значения 660 (чтение+запись, чтение+запись, нет прав).

Изменить права доступа к файлу можно с помощью команды chmod. Чтобы задать желаемое изменение в этой команде используют разные формы записи, включая восьмеричную и мнемоническую. В мнемонической форме параметры команды chmod обозначают следующее (со знаком плюс (+) они используются для добавления права на доступ, со знаком минус – для их удаления):

u Добавить (или удалить) право на какую-либо операцию с файлом (каталогом) для юзера.

g Добавить (или удалить) право для группы.

o Добавить (или удалить) право для всех остальных.

a Добавить (или удалить) право всем пользователям (all). r Добавить (или удалить) право на чтение.

Добавить (или удалить) право на запись.

w Добавить (или удалить) право на выполнение.

Из комбинации этих слов и складывается указание о том, как следует изменить права доступа. Например, если создать файл, скажем, readme.txt, то для этого файла будут установлены разрешения, используемые по умолчанию (они определяются маской unmask в файле /etc/bsdhrc);

-rw-rw-r-- 1 bball bball 12 Oct 2 16:48 readme.txt

Допустим, мы хотим запретить всем без исключения пользователям модифицировать этот файл. Сделать это можно с помощью команды Chmod:

$ chmod –aw readme.txt

$ ls –l readme.txt

-r--r--r-- 1 bball bball 12 Oct 2 16:48 readme.txt

Теперь никто не сможет записывать в файл. Впрочем, владелец, если файл находится в его домашнем каталоге или каталоге /tmp, сможет изменять этот файл – поскольку имеет право на доступ к этим каталогам. Чтобы восстановить право на чтение и запись для владельца, можно выполнить такую команду:

$ chmod u+rw readme.txt

$ ls –l readme.txt

-rw------- 1 bball bball 12 Oct 2 16:48 readme.txt

Чтобы только владелец мог читать файл и записывать в него, можно также использовать восьмеричную форму записи командой chmod. Для этого необходимо выполнить команду chmod со значениями прав доступа, равными 600:

$ chmod 600 readme.txt

Если убрать права на выполнение некоторого каталога, то файлы, в нем содержащиеся, будут скрыты внутри каталога, не видны и не доступны никому, кроме владельца (и, конечно, пользователя root, который имеет доступ ко всем файлам операционной системы). Используя комбинации различных прав доступа можно легко и быстро создать безопасную среду.

Работа в качестве root

В UNIX и Linux пользователь root, суперпользователь.. У него специальная учетная запись, которая разрешает ему делать все, что ему заблагорассудится. После регистрации в качестве пользователя root, вы имеете возможность полностью разрушить работающую систему просто вызвав команду rm:

# rm –fr /

Эта команда не только удалит все файлы и каталоги на вашей машине, но может также стереть файловые системы даже на удаленных компьютерах. Только эта возможность уже является достаточной причиной для соблюдения особой осторожности во время работы с правами доступа пользователя root.

Работать в Linux в качестве root следует в тех случаях, когда необходимо сконфигурировать файловую систему или провести работы по ремонту или сопровождению операционной системы.

Добавление пользователей

Чтобы быстро добавить пользователя, выполните команду useradd и задайте в ней имя пользователя:

# useradd winky

После добавления пользователя необходимо с помощью команды passwd ввести начальный пароль для этого пользователя:

# passwd winky

Changing password for user winky.

New password: Retype new password:

Passwd: all authentication tokens updated successfully.

Если для нового пользователя не ввести начальный пароль, то он не сможет зарегистрироваться и войти в систему. Чтобы увидеть используемые по умолчанию параметры для нового пользователя, выполните команду useradd с парметром –D:

# useradd –D

Group=100 HOME=/home INACTIVE=-1 EXPIRE=

SHELL=/bin/bash SKELL=/etc/skel

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

Удаление пользователей

Для удаления учетной записи используется команда userdel. Эта команда удаляет запись, принадлежащую данному пользователю, из системного файла /etc/passwd. Чтобы удалить все его файлы и каталоги (например, файл почтовой очереди в каталоге

/var/spool/mail), следует воспользоваться параметром -r:

# userdel –r winky

В противном случае вам придётся вручную удалять все эти файлы. Выключение системы

Для выключения системы используйте команду shutdown. Эта команда имеет некоторое число опций, позволяющих например, выключить машину в заранее определенное время. Но если нужно выключить машину немедленно, можно воспользоваться опциями –h или halt:

# shutdown –h now

Или

# shutdown –h 0

Linux завершит работу. Важно понимать, что нельзя просто выключить Linux. Для обеспечения нормальной последующей загрузки система должна размонтировать все разделы. Простое выключение компьютера может привести к порче данных на жестком диске.

Перезагрузка системы

Для перезагрузки системы также можно воспользоваться командой shutdown. Если необходимо перезагрузить систему, воспользуйтесь опцией –r (reboot); для немедленной перезагрузки укажите после опции now или 0 (ноль):

# shutdown –r now

Или

# shutdown –r 0

Другими командами, которые можно использовать для выключения системы и её перезагрузки, являются halt и reboot.

символ «#» в командной строке указывает на то, что работаете из-под пользователя root.

Переход в корневой каталог и просмотреть его содержимое. Перейдите в корневой каталог:

cd /

Просмотрите его содержимое командой ls либо dir

Можно использовать команду ls с дополнительными опциями:

ls –l

Получение справки по командам. Для этого введите в командной строке help и мя команды.

Например, help cd

Аналогичным образом получите справку для команд: dir, su, help.

 

Существует три категории пользователей: владелец;

группа;

все остальные.

Каждой категории пользователей можно читать, редактировать, выполнять файл как программу. Для назначения прав каждой категории пользователей отведена тройка бит. Старший бит тройки отвечает за чтение, второй – за редактирование, младший – за выполнение. Изменить код доступа к файлу можно командой chmod.

Спецификация команды: chmod <код> <файлы>

Пример использования команды chmod: chmod 777 myfile.com

В данном случае разрешается всем категориям пользователей выполнять все действия с этим файлом.

Вышеописанный способ называют абсолютным способом установки прав. Кроме того, можно воспользоваться и относительным способом изменения прав на доступ к файлу. Для этого также используется команда chmod.

Спецификация команды: chmod <изменения> <файлы>

 

Изменения можно представить следующей формулой: W op D, где

W принимает значения: u – владелец; g – группа; a – все; o – остальные. op принимает значения:

+ - добавить; - - забрать, = - установить. D принимает значения:

r – чтение;

w – редактирование; x – выполнение.

Примеры:

chmod u+x file1 – Добавить владельцу право на выполнение этого файла.

chmod u+w g-r file2 - Добавить владельцу право на редактирование этого файла, у группы забрать права на чтение.

chmod a+rwx file3 – Всем категориям пользователей разрешить все. Практическое задание

Задание.

1.Добавьте в систему пользователя с именем student (используйте команды useradd и passwd)

2.Создайте в каталоге /home свой каталог.

3.Создайте в нем несколько файлов с помощью команды TOUCH.

4.Просмотрите содержимое каталога /home в длинном формате.

5.Добавьте в файл дополнительную информацию.

6.Отобразите содержимое этого файла (использовать, например, команду CAT).

7.Задайте права одному из созданных файлов: запретите пользователю писать, остальным все можно. Сделать в формате, как в примере: $ chmod 600 readme.txt

(здесь только владелец мог читать файл и записывать в него, можно также использовать восьмеричную форму записи командой chmod, этого выполняется команда chmod со значениями прав доступа, равными 600)

8.Измените права другому файлу: запретите всем все.

9.Получите справку для команд: dir, su, touch, cd

 

Содержание отчета:

1. Цель работы.

2. Краткое описание теории.

3. Зафиксировать задание, результат его выполнения.

4. Сделать выводы по работе.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-05-08 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: