Что нового

[3]Основы Linux для начинающего "Хакера": (Права)

sshNkt

sshNkt


Команда форума
Protey Team
Регистрация
11.11.2019
Сообщения
14
Оценка реакций
38
Всем привет, этот цикл статей будет в основном для начинающих но если вы более продвинутый специалист и найдете для себя что то новое мы будем только рады :).

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

Files-permissions-and-ownership-basics-in-Linux.png

Проверка прав
Когда нам надо узнать права для файла, нужно просто использовать знакомую из прошлой статьи команду ls с ключом -l или long. Давайте воспользуемся этой командой в каталоге /root/test и посмотрим, что она говорит нам о содержимом.

Снимок экрана 2019-12-02 в 21.26.34.png

Распознаем файл или директория
Самый первый символ строки говорит нам, файл это или каталог. Если строка начинается с d(directory), это каталог. Если начинается с " - ", это файл.
Без названия.png

Распознаем права
Следующий столбец символов определяет права доступа к файлу. Существует три набора rwx, которые означают чтение(read), запись(write) и выполнение(execute). Это определяет, есть ли разрешение на чтение файла, запись в файл или выполнение файла. Если мы посмотрим на вторую строку.

Без названия.png

Мы видим что эта строка начинается с : -rw-р - r-- Это означает, что это файл (-), в котором владелец имеет разрешения на чтение (r) и запись (w), но не имеет разрешения на выполнение (-).Почему владелец?Если рассматривать rw- как столбец относящийся к владельцу, то следующий столбец r-- относиться к группе и последний к остальным пользователям.Мы делим права на эти 3 категории.

Смена прав
Давайте представим что нам надо чтобы группа могла писать и выполнять файл . В Linux есть команда chmod, которая позволяет нам изменять права доступа к файлу, пока мы являемся пользователем root или владельцем файла. Эти разрешения представлены их численном эквивалентами в операционной системе Linux.

Итак, три вида прав выглядят в численном виде примерно так:
  • r w x
  • 4 2 1
Если вы сложите эти три значение, вы получите семь, верно? В Linux, когда все прав включены, мы можем представить его с десятичным числовым эквивалентом 7. Итак, если мы хотим представить, что владелец (7) и группа (7) и все пользователи (7) имеют все разрешения, это будет выглядеть так :
  • 777 (rwx rwx rwx) - Каждый пользователь может читать, редактировать и запускать на выполнение
Теперь вернемся к нашему файлу "newfile". Его права - rw- r-- r--, поэтому мы могли бы представить это численно как:
  • r w - r - - r - -
  • 4 2 0 4 0 0 4 0 0
644 (-rw-r--r--) - Все пользователи имеют право чтения, владелец может редактировать.

Теперь, если мы хотим дать группе полномочия write (2) и execute (1), мы можем использовать для этого команду chmod. Мы делаем это командой:
Код:
chmod 774 newfile
ls -l
Снимок экрана 2019-12-02 в 23.29.12.png
Это команда дает владельцу все права (4 + 2 + 1 = 7), группе (4 + 2 + 1 = 7) и дает всем остальным просто разрешение на чтение (4 + 0 + 0 = 4). Теперь, когда мы делаем ls -l, мы видим, что разрешения для newfile теперь: r w x | r w x | r - -.

Изменение прав с UGO
Хотя числовой метод, является наиболее распространенным методом изменения прав в Linux , есть еще один метод, который некоторым людям удобнее. Его часто называют синтаксисом UGO. UGO означает U = пользователь или владелец, G = группа и O = другие. UGO имеет три оператора:
  • + для добавления прав
  • - для удаления прав
  • = установить права

Итак, если бы я хотел убрать права на запись в группу, к которой принадлежит "newfile", я мог бы написать: chmod g-w newfile. Эта команда говорит: «для группы (g) вычтите (-) разрешение записи (w) в "newfile"».
Снимок экрана 2019-12-02 в 23.48.17.png
Вы можете видеть, я сейчас проверяю права доступа к файлу, набрав ls -l, у файла newfile больше нет разрешения на запись для группы. Если бы я хотел дать пользователю и группе разрешение на выполнение(x), я мог бы набрать: chmod u + x, g + x newfile Эта команда говорит: «для пользователя добавьте разрешение на выполнение(x), для группы добавьте разрешение на выполнение(x) в файле newfile».

Надеюсь эта статья была для вас полезной.Спасибо за внимание :).
 

Вложения

Последнее редактирование:
Верх