Операционная система должна предоставлять механизм управления фиксированными состояниями ключевых объектов безопасности системы, сохраняющий установленные права доступа к объектам файловой системы при обновлении пакетов.
https://www.altlinux.org/Управление_правамиchown, chmod, SUID, GUID, sticky bit, ACL, umask
https://metanit.com/os/linux/5.8.php
Acess Control Lists
ACL или Access Control Lists (Списки контроля доступом) в Linux предоставляют еще одну возможность предоставлять разрешения нескольким пользователям и группам для одного и того же файла или каталога. ACL позволяют решить некоторые ограничения других общих инструментов управления разрешениями, в частности:
- У файла/каталога может быть только один пользователь-владелец и одна группа-владелец
- Не работает наследование разрешений, чтобы разрешения каталога передавались его файлам и подкаталогам
Списки ACL часто применяются к каталогам, чтобы гарантировать, что новые файлы, созданные в каталоге, автоматически получат необходимые разрешения. Для установки ACL применяется команда setfacl:
setfacl [options] operation entity:entityname:permissions fileОна принимает следующие компоненты:
options: с помощью необязательных опций позволяет управлять работой команды setfacl. Распространенные опции:-d: устанавливает ACL по умолчанию. Это параметр ACL также наследуется подкаталогами и файлами.-k: удаляет список ACL по умолчанию.-R: рекурсивно применяет настройки ACL.
ACL по умолчанию предназначен для новых файлов и не влияет на существующие файлы. Все новые файлы получат разрешения, установленные в ACL по умолчанию. Без опции
-dкомандаsetfaclработает только с существующими файлами. Чтобы убедиться, что все новые файлы получат желаемые настройки ACL, следует дважды использовать командуsetfacl. Сначала с опцией-d, чтобы был установлен список ACL по умолчанию, а затем с опцией-Rи без опции-d, чтобы позаботиться о существующих в данный момент файлах.operation: устанавливает, что надо сделать: добавить или удалить настройку ACL. Доступны следующие операции:--set: используется для установки ACL. Стоит учитывать, что она заменит любой существующий ACL.-m: дополняет текущие настройки ACL, без полной замены.-x: удаляет существующий ACL.
entityиentity name: тип объекта имя объекта, которые определяют, для кого надо установить ACL. Существует два типа объектов:uдля пользователя иgдля группы. После указания типа объекта надо указать имя объекта.permissions: разрешения, которые надо установить с помощью списков управления доступом.file: имя файла или каталога, к которому надо применить списки ACL.
Для получения информации о списках ACL применяется команда getfacl, которой передается имя файла/каталога:
getfacl fileВ ОС Альт СП реализован механизм дискреционного разграничения доступа. Управление доступом применяется ко всем объектам, включая объекты файловой системы, базы данных, процессам и устройствам. Разграничение прав доступа осуществляется администратором в соответствие с типами операций (чтение, запись, исполнение). Реализуется такими средствами как ACL, alterator-users, alterator-group, DAC, polkit, kiosk.
Разделение полномочий (ролей) пользователей осуществляется администратором с помощью инструментов: alterator-users, alterator-ldap-users, alterator-group, alterator-root, alterator-multiseat, chmod, chown, setfacl, chgrp, ACL. Настройка проводится в соответствии с организационно-распорядительными документами оператора.
Назначение минимально необходимых прав и привилегий, разделение полномочий (ролей) пользователей осуществляется администратором с помощью инструментов управления учетными записями: alterator-users, alterator-ldap-users, alterator-group, alterator-root, alterator-multiseat, chmod, chown, setfacl, chgrp, chow, DAC. Настройка проводится в соответствии с организационно-распорядительными документами оператора.
В ОС каждый объект хранит свои права доступа, назначенные ему в соответствие с DAC (Discretionary Access Control)
SELinux (Не заработало) (Появилась задача 183415)
SELinux (Security-Enhanced Linux) – это модуль ядра Linux, который предоставляет механизмы контроля доступа на основе политик безопасности. SELinux может быть важным инструментом для повышения безопасности вашей системы ALT Linux.
Чтобы проверить, активирован ли SELinux в вашей системе, используйте следующую команду:
sestatusЕсли SELinux не активирован, вы можете включить его, отредактировав файл конфигурации:
sudo nano /etc/selinux/configВ этом файле измените значение SELINUX:
SELINUX=permissive
SELINUXTYPE=strictenforcing - SELinux security policy is enforced. permissive - SELinux prints warnings instead of enforcing. disabled - No SELinux policy is loaded.
SELINUXTYPE can take one of these four values: targeted - Only targeted network daemons are protected. strict - Full SELinux protection. mls - Full SELinux protection with Multi-Level Security mcs - Full SELinux protection with Multi-Category Security (mls, but only one sensitivity level)
Howto get working SeLinux Alt Linux policy
Факты
libselinux для своей работы требует /proc это требует учитывать для зачрученных приложений, которые могут отказывать работать по необяснимым причинам. Это относится к всяким родам службам, которые в ALT часто делают chroot с целью усиления защищенности.
Force relabeling
touch /.autorelabelUpdate Grub config
Update configuration GRUB's file: /etc/sysconfig/grub2:
GRUB_CMDLINE_LINUX_DEFAULT='panic=30 quiet splash security=selinux selinux=1'It is also possible to add:
enforcing=1log_buf_len=1M
grub-mkconfig > /boot/grub/grub.cfgPAM configuration
- Add to
/etc/pam.d/newrolebeforepam_namespace.somodule
session required pam_exec.so debug /etc/security/alt.newrole/helper /etc/security/alt.newrole/config- Add to
/etc/pam.d/common-login:
The first session module pam_selinux.so close should be the first session rule
session required pam_selinux.so closeThe last session module pam_selinux.so open should only be followed by sessions to be executed in the user context
session required pam_selinux.so open verboseReboot
reboot system with enabled selinux
Install policy
Install package selinux-policy-altlinux
Reboot system again

Грузиться система не хочет, переходит в emergency mode Setting SELINUX context failed
| Продемонстрировать наличие соответствующих возможностей
Механизм control
Пример настройки через механизм control
Просмотреть температуру жёсткого диска можно также средствами консоль режима:
hddtemp — утилита мониторинга температуры жёсткого диска
Настройка прав доступа можно выполнить через control-механизм в консоли:
control | grep hdd
control hddtemp list
control hddtemp restricted
control hddtemp public
control hddtemp wheelonly
Настройка прав доступа к hddtemp через control-механизм средствами администрирования «Альт Домена» описана в разделе документации 10.4.2. Управление control framework https://docs.altlinux.org/ru-RU/domain/10.4/html/group-policy/control.html
