9 Способы разделения прав на ресурсы Атрибуты фай
9 Способы разделения прав на ресурсы. Атрибуты файлов. Выполнение от имени суперпользователя¶
Способы разделения прав на ресурсы
3 основных способа разделения прав:
-
Традиционные права доступа (Owner, Group, Other)
- Ownre - владелец файла/директории
- Group - группа пользователей с определёнными правами
- Other - все остальные пользователи
- Типы прав:
- r (read) - чтение
- w (write) - запись
- x (execute) - выполнение
Пример прав доступа: -rwxr-xr-- Первый символ: - для обычного файла, d для директории Следующие 3 символа: права владельца Следующие 3 символа (вторая тройка): права группы Последние 3 символа (третья тройка): права всех остальных
-
Списки контроля доступа (ACL, Access Control Lists), позволяют назначать права доступа для отдельных пользователей и групп
getfacl file.txt
- просмотр ACLsetfacl -m u:username:rwx file.txt
- установка ACLsetfacl -x u:username file.txt
- удаление ACL
- Контекст безопасности SELinux (Security-Enhanced Linux) представляет механизм для управления доступом на основе политики безопасности
ls -Z file.txt
- просмотр контекста безопасностиchcon -t httpd_sys_content_t file.txt
- изменение контекста безопасности (устанавливается контекст безопасностиhttpd_sys_content_t
для файлаfile.txt
)semanage fcontext -a -t httpd_sys_content_t ‘/web(/.*)?’
- добавление правила, устанавливающего тип контекста безопасностиhttpd_sys_content_t
для всех файлов и директорий в/web
Атрибуты файлов
Атрибуты файлов предоставляют дополнительный настройки, помимо стандартных прав доступа. Атрибуты файлов можно просматривать и изменять с помощью chattr
и lsattr
Основные атрибуты:
- a (append only) - файл может быть только дополняем
- i (immutable) - файл является неизменяемым
- d (no dump) - файл не будет включён в резервные копии, создаваемые утилитой dump
- e (extent format) - файл использует формат extent для хранения данных (только для файловых систем ext4)
- j (data journaling) - файл использует журналирование данных (только для файловых систем ext3 и ext4)
- s (secure deletion) - файл будет безопасно удалён (данные будут перезаписаны нулями)
- u (undelete) - файл может быть восстановлен после удаления (поддерживается не всеми файловыми системами)
lsattr file.txt
- вывод атрибутов файла
chattr +a file.txt
- добавление атрибута
chattr -i file.txt
- удаление атрибута
chattr =a file.txt
- установка атрибута
Уточнение: все манипуляции с атрибутами происходят от sudo
Выполнение от имени суперпользователя
Существует несколько способов выполнения команд от имени суперпользователя:
sudo
- позволяет выполнить команду от имени пользователяroot
или другого пользователя, если это разрешено в файле/etc/sudoers
;sudo visudo
- редактирование файла/etc/sudoers
;user ALL=(ALL) ALL
- строка вsudoers
, разрешающая пользователю user выполнять все команды от имени суперпользователяsu
- позволяет переключиться на другого пользователя (по умолчанию на суперпользователя);su -c “command”
- выполняет команду от имени суперпользователя и возвращается к исходному пользователю- прямой вход в систему под суперпользователем при помощи
login
, однако это крайне небезопасно из-за возможных случайных ошибочных действий