Введение
По умолчанию в различных дистрибутивах UNIX-подобных систем установлен модуль Discretional Access Control, как панель управления доступа. Это означает, что каждый пользователь системы имеет свои права и доступ к процессам и файлам. Заметьте, в Linux файлом может быть что угодно: устройства, обычный файл, каталоги, ссылки и т.д. Для этого типа данных мы управляем атрибутами файла, которые содержат: владельца, группу, размер, тип. По первому и второму параметрам мы можем отследить, кто имеет доступ и права на объект.
Требования
- Root-права;
- Debian 12 или более поздняя версия;
- Некоторые знания о работе ОС;
- Подключение к Интернету.
Разрешения и атрибуты
В Linux мы можем проверить атрибуты и права доступа с помощью следующей команды:
ls -l

Но если мы хотим просмотреть атрибуты одного файла, то для этого необходимо ввести команду ниже:
ls -l /etc/network/interfaces

Давайте уточним и поясним каждый параметр на этом экране:
- Сначала мы видим набор из трех триплетов, которые указывают на права доступа к выбранному файлу. Первая черточка означает, что это обычный файл, но этот знак мог бы быть символом d или l, соответственно каталогом или ссылкой;
- Второй параметр — три следующих знака rw-, которые соответствуют правам владельца: чтение, запись и выполнение, поэтому следующая тройка предназначена для группы владельца и других пользователей;
- Число 1 означает количество жестких ссылок;
- Атрибут root root указывает на владельца и его группу;
- Далее указывается размер файла в байтах, данные о последних изменениях и имя файла.
Каждый отдельный файл связан с одним пользователем (владельцем) и определенной группой. При создании файла его владельцем становится тот, кто его создал, и для этого файла назначается определенная группа. В Linux права доступа делятся на три основные категории: пользователь, группа и другие. Каждая категория может получать отдельные разрешения на чтение, запись и выполнение. Эти права могут быть изменены с помощью утилиты chmod при условии, что пользователь имеет необходимые полномочия и явные разрешения на это.
Разрешения также могут быть представлены в виде суммы чисел. Это мы используем для назначения прав: 4 — для чтения, 2 — для записи и 1 — для выполнения:
chmod 755 interfaces

Однако если мы хотим полностью запретить все виды доступа для всех категорий пользователей, то мы должны ввести следующую команду:
chmod 000 interfaces

Команда chmod используется для изменения прав доступа и поддерживает как символьное, так и числовое представление. Например, при использовании команды chmod u+w filename владельцу присваивается право на запись. В данном контексте u означает владельца, g — группу, o — других, а a — всех пользователей. Далее знаки +, – или = используются для добавления, удаления или явного определения разрешений для пользователей.
chmod u+rwx interfaces && chmod go-rwx interfaces

Или мы можем использовать команду equal:
chmod u=rwx, go= interfaces
Если необходимо сохранить права на запись для других и групповых пользователей, но при этом защитить их от удаления, то используйте приведенную ниже команду:
chmod +t interfaces
Заключение
В этом путешествии мы раскрыли все сложности, связанные с правами доступа и атрибутами в Linux. Овладение этими понятиями имеет решающее значение для обеспечения безопасности данных и эффективного администрирования системы.