Операция не позволена astra linux
Выложена в открытый доступ утилита start-stop-parsec-daemon, пропатченная версия обычного start-stop-daemon для Astra Linux Special Edition. В отличии от стандартной версии умеет запускать процессы с привилегиями PARSEC под любым пользователем.
Зачем нужна?
Штатные возможности Astra Linux Special Edition не позволяют запускать процессы (демоны) со сменой UID/GID и при этом ставить привилегии PARSEC. Невозможно, например, запускать немодифицированные программы с привилегией PRIVSOCK (возможность подключения пользователей с ненулевой мандатной меткой) с UID/GID отличными от 0 (root).
Столь плачевное положение возможно имеет причиной: а) забывчивость Русбитеха; б) вера в то, что все привилегированные процессы должны запускаться от рута. Как бы то ни было, вся обвязка связанная с запуском процессов с привилегиями PARSEC, полна тлена и баш-скриптов и порой приводит к потере работоспособности скриптов запуска.
Посему мы это все решили прекратить и сделать свой start-stop-daemon с PARSEC привилегиями, но без скриптов.
Как это работает
Пакет устанавливает команду start-stop-parsec-daemon , полностью совместимую со штатным start-stop-daemon , но позволяющую указывать привилегии PARSEC с помощью параметра --capability . Для совместимости со штатным механизмом Астры privsock, если указана привилегия 0x100 (PRIVSOCK), то команда дополнительно сверяется с файлом /etc/parsec/privsock.conf на предмет наличия запускаемого бинарника в оном списке.
В остальном, все как обычно.
Как это всё прикрутить к собственному проекту?
- Добавьте в зависимости вашего пакета с init. d скриптом наш пакет (parsec-daemon).
- В скрипте используйте start-stop-parsec-daemon вместо start-stop-daemon .
- Укажите привилегии с помощью параметра --capability .
Пакеты можно собрать самостоятельно из исходников, а можно взять готовые для Astra Linux Special Edition 1.3/1.4 из нашего репозитория.
Рекомендация: если вы хотите таким образом адаптировать сторонние пакеты, то наилучшим способом будет создание пакета <пакет>-parsec , в котором будет правильный LSB скрипт запуска. А postints/postrm скрипты будут отключать стандартный демон и работать с /etc/parsec/privsock.conf .
Пример
Конкретного примера не будет, смотрите нашу обвязку для RabbitMQ.
Наша версия start-stop-daemon войдет в версию 1.5 Astra Linux Special Edition.
Похожие статьи
Astra Linux Special Edition 1.7: цены
22 октября вышла новая версия 1.7 ОС СН Astra Linux Special Edition. Сейчас рассмотрим цены и условия лицензирования. (далее…)
Astra Linux Special Edition 1.7: лицензирование и сертификация, защита
22 октября вышла версия 1.7 отечественной операционной системы Astra Linux Special Edition. В этой статье рассмотрим изменения в схеме лицензирования, сертификации и сделаем обзор новинок защиты. Обзор состава новой версии.
Astra Linux Special Edition 1.7: состав
Astra Linux Special Edition 1.7 22 октября 2021 года вышла новая версия дистрибутива Astra Linux Special Edition 1.7. Основные новинки сосредоточены вокруг нового уровня сертификации, новой схемы лицензирования и расширения.
2 Comments
Спасибо большое за Ваш пакет!
Господа, а вот скажите мне как художник художнику.
Нужно мне использовать астровский apache (1.5 Смоленск) как frontend (или reverse proxy) к сервису, работающему на другом хосте.
Причем, apache работает в среде ALD с набором мандатных меток, а сервис — вообще вне мандатного контекста.
При этом web-юзеры работают в ALD и заходят с различными мандатными метками.
Если метка ненулевая, имеем Service unavailable. То есть apache не может достучаться до backend.
С нулевой меткой все работает.
Прописывал apache в privsock, запускал его через execaps -c 0×100.
Проверял эффективные capabilities через pscaps — все выставляется правильно.
Но с ненулевыми мандатными метками — не работает.
Предполагаю багу. Но все же есть еще надежда на мою криворукость.
Need help.
- По умолчанию, после установки ОС:
- включен режим МКЦ ОС:
- установлен параметр ядра `max_ilev = 63`
- все процессы, начиная от init до менеджера входа fly-dm, имеют уровень целостности 63 (если в конфигурации юнита явно не указано иное).
- Графический сервер Xorg по умолчанию работает не от имени суперпользователя root (uid 0), а от пользователя, и работает на выделенном уровне МКЦ 8.
- Администратор, созданный при установке ОС, получает 63-й «красный» уровень МКЦ,
- Пользователи получают нулевой «синий» уровень МКЦ
- Администраторы из группы astra-admin автоматически получают 63-й «красный» уровень МКЦ
- Пользователи получают нулевой «синий» уровень МКЦ.
для сетевых сервисов: - 1
для подсистем виртуализации (для гостевых систем, отличных от ОССН Смоленск и контейнеров LXC на нулевом уровне): 2,
для внешнего СПО: 4
-
X-сервер в общем случае (если есть поддержка KMS в ядре) по умолчанию работает от имени пользователя fly-dm под выделенным уровнем МКЦ 8.
- На контейнеры (каталоги) больше нельзя устанавливать флаги ehole.
Допускается только установка флагов
Можно использовать псевдоним CCNRA (соответствует одновременно установленным флагам ccnr и ccnri).
- Флаг ehole доступен, как и ранее, для установки на файлах, и, дополнительно, введен новый флаг
дающий разрешение записывать в файл «снизу вверх» (чтение по обычным правилам МРД).
Новый флаг whole также нельзя устанавливать на контейнерах.- Запись в каталог с высокой целостностью и установленным флагом ccnri
не может быть выполнена процессом с более низким уровнем целостности чем у контейнера (каталога).
- Пользователь не может производить запись в контейнер (каталог)
с установленным больше нуля уровнем МКЦ и с установленным флагом ccnri,
если он не вошел в систему на уровне МКЦ равном или большем уровню МКЦ контейнера,
или не обладает привилегией parsec_cap_ignmacint.
- Пользователь не может производить запись в контейнер (каталог)
с установленной (ненулевой) меткой конфиденциальности и с установленным флагом ccnr
информации, отличной от уровня конфиденциальности контейнера,
если он не зашел под уровнем конфиденциальности равным уровню конфиденциальности контейнера (каталога),
или не обладает привилегиями parsec_cap_ignmaccat и parsec_cap_ignmaclvl.
- Eсли в загрузчике указать параметр ядра
то непривилегированный пользователь получит возможность производить запись файлов с разным уровнем конфиденциальности в контейнер (каталог) с установленным флагом ccnr.
- Сравнение уровней целостности проводится по битовой маске:
запись в объект (или остановка процесса или юнита) разрешена,
если набор бит уровня МКЦ субъекта
"включает" в себя (операция сравнения &) набор бит уровня МКЦ объекта.- В системе определен набор из восьми ненулевых изолированных уровней МКЦ:
000 0b00000000 - Нулевой уровень. "Низкий", или "Low"
001 0b00000001 - Уровень задействован как "Сетевые сервисы"
002 0b00000010 - Уровень задействован как "Виртуализация"
004 0b00000100 - Уровень задействован как "Специальное ПО"
008 0b00001000 - Уровень задействован как "Графический сервер"
016 0b00010000 - Свободен, может быть использован для сетевых сервисов.
032 0b00100000 - Свободен, может быть использован для сетевых сервисов.
064 0b01000000 - Зарезервирован, и может быть использован при поднятии max_ilev.
128 0b10000000 - Зарезервирован, и может быть использован при поднятии max_ilev.- Уровень МКЦ после установки контроля целостности на ФС по умолчанию будет равен 63 (0b00111111), и запись в объекты ФС возможна только для процессов с уровнями
63 0b00111111
127 0b01111111
191 0b10111111
255 0b11111111- Механизм одновременной работы с разными уровнями sumac теперь доступен только для тех пользователей,
которым задана привилегия parsec_cap_sumac.
- В ОС реализована возможность назначения уровня целостности и конфиденциальности для systmed-служб.
Для этого в unit-файле службы <name>.service нужно добавить параметр PDPLabel с нужной мандатной меткой в разделе [Service] :
Формат метки аналогичен принятому в системе Parsec (pdpl-file --help) , за исключением поля типа метки: метка процесса не может иметь флагов ccnr/ccnri/ehole/whole .
При этом, при задании уровней мандатных привилегий рекомендуется использовать числовые обозначения,
так как при разрешении имён могут оказаться задействованы сетевые ресурсы (например, LDAP-каталоги),
что может приводить к сложно диагностируемым ошибкам конфигурации.После редактирования unit-файла вызовите:
systemctl daemon-reload; systemctl restart <name>.service
Для проверки реально полученной метки процесса определите pid процесса:
systemctl status <name>.service
и по определённому pid процесса узнайте метку
- Добавлена Parsec-привилегия PARSEC_CAP_SUMAC , позволяющая запускать процессы другим уровнем конфиденциальности.
Поддерживаются привилегии, добавленные в предыдущей версии ОССН Смоленск:
-
Привилегия PARSEC_CAP_UNSAFE_SETXATTR , позволяющая устанавливать мандатные атрибуты объектов ФС без учета мандатных атрибутов родительского объекта-контейнера.
Привилегия используется для восстановления объектов ФС из резервных копий, и действует только после установки значения 1 для параметра /parsecfs/unsecure_setxattrВ последние годы растёт потребность в защищённых решениях для структур, работающих с секретной информацией. Раньше словосочетание «защищённая операционная система для военных» воспринималось многими иронично. Сегодня же вопрос защиты информации является одним из ключевых, поэтому многие компании разрабатывают серьёзные решения для работы с защищённой информацией.
Мандатная модель управления доступом используется в специализированных системах, связанных с обработкой секретной информации, требующей особых правил управления доступом. Эти правила достаточно подробно расписаны в специализированной литературе.
Мандатная модель в Astra Linux
Мандатная модель Astra Linux (далее будем использовать термин MAC, от англ. Mandatory Access Control) реализует два ключевых понятия: мандатные уровни и мандатные категории доступа. Мандатные уровни (мандатные метки) используются для пометки субъектов и объектов, чтобы обозначить тот или иной мандатный уровень доступа. Мандатные категории могут быть использованы для разграничения доступа по структурным подразделениям организации. Мандатная метка объекта в AL описывается целым числом, и всегда хранится в тесной связке с помеченным объектов.
Сама операционная система и её процессы всегда работают в режиме 0 мандатной метки. При этом в ОС запрещено выполнение системных программ и модификация конфигурации системы в режиме мандатной метки, отличной от 0.
Диапазон мандатных разрешений пользователя фиксирует то, с какими диапазонами мандатных меток может входить в приложение пользователь. Пользователь будет иметь право на вход в систему с любой меткой из указанного диапазона.
В ОС поставляется набор приложений, в которых реализована полная поддержка мандатной модели управления доступом. Данные приложения предоставляют функциональность обработки объектов приложения (записей в БД, дочерних процессов и т.д.) с учётом правил и требований MAC. Наиболее важными из них для нас являются:
- СУБД PostgreSQL. PostgreSQL имеет интеграцию с хранилищем учётных записей и мандатных меток ОС. СУБД предоставляет функциональность присваивания мандатной метки к таким объектам, как кластер, база данных, таблица, столбец и запись.
- Веб-сервер Apache2. Обязателен при разработке веб-приложений. Позволяет считывать мандатную метку посредством модуля pam_auth, создавать процессы веб-приложения в режиме мандатной метки, переданной из браузера.
- Браузер Mozilla Firefox. Обязателен для работы с приложением в режиме мандатной метки. Позволяет транслировать мандатную метку в веб-сервер Apache2.
Проектирование и разработка веб-приложения, поддерживающего мандатную модель управления доступом
Именно поэтому имеется первая, но крайне важная рекомендация:
Предусмотрите в вашем приложении параметр (например, MAC_ENABLED ), позволяющий включать и выключать поддержку мандатных меток централизованно, в одном месте. И пользуйтесь этим параметром во всех местах, в любых условных конструкциях, которые напрямую или косвенно сталкиваются с инфраструктурой MAC Astra Linux.
Этим вы сохраните своему приложению возможность развиваться с любыми другими Linux и не-Linux операционными системами. Если даже речь не идёт о production-использовании данного параметра, возможность завести приложение внутри Docker-контейнера может дорогого стоить!
Поэтому при проектировании приложения под Astra Linux обязательно необходимо выделить модули, в которых требуется поддержка нескольких мандатных меток.
Для модуля возможны следующие варианты:
- Модуль работает с данными только 0 мандатной метки;
- модуль работает с данными только одной, не 0 мандатной метки;
- модуль работает с данными нескольких мандатных меток.
Простой случай: модуль работает с данными только 0 мандатной метки
Этот кейс является наиболее простым случаем. Проектирование модуля в режиме работы с данными 0 метки целесообразно в следующих случаях:
В системе Jet Signal примером такого модуля является модуль «Безопасность», реализующий управление учётными записями пользователей, ролями и операциями:
Данный модуль реализует функциональность создания учётных записей пользователей в ОС, СУБД, управление правами доступа к объекту БД и каталогам. Данные, обрабатываемые данным модулем, должны быть видны под любой мандатной меткой. Именно поэтому данный модуль позволяет изменять данные только в режиме 0 мандатной метки.
Случай средней сложности: модуль работает с данными только одной, не 0 мандатной меткой
Этот кейс чуть сложнее, но во многом похож на случай с 0 мандатной меткой.
Данный кейс может быть полезен в следующих случаях:
- Была допущена ошибка при аналитике и проектировании модуля (не были заложены особенности обработки записей в MAC) и нет ни времени, ни ресурсов всё переписывать;
- в соответствии с бизнес-требованиями модуль должен обрабатывать именно указанную мандатную метку.
При выполнении операций, связанных с мандатной меткой управления доступом, рекомендуется производить проверку, включены ли мандатные метки, и сверять мандатную метку текущего процесса приложения с мандатной меткой по умолчанию.
На что следует обратить внимание при реализации подобного кейса:
- Нельзя менять мандатную метку по умолчанию (MAC_DEFAULT_LEVEL) в процессе эксплуатации приложения. Это гарантированно приведёт к неожиданным и сложным в диагностике проблемам, а бизнес-логика приложения может попросту развалиться.
- По возможности следует добавить проверку мандатной метки какой-нибудь эталонной записи, создаваемой при инсталляции приложения, и данного параметра. В случае некорректной установки параметра приложению следует бить в колокола и звать на помощь системного администратора!
Сложный случай: модуль работает с данными нескольких мандатных меток
Для полноценной реализации данного кейса необходимо спроектировать в приложении следующие функции:
- Функция получение мандатной метки текущего процесса приложения;
- функция получения мандатной метки записи (если речь идёт о работе с записью в БД) или файла (если мы обрабатываем файлы в каталоге);
- функция получения мандатной метки записей/файлов в коллекции.
Получение мандатной метки текущего процесса приложения
Для получения мандатной метки текущего процесса приложения мы используем команду:
Получение мандатной метки записи в базе данных
Для получения мандатной метки записи в базе данных потребовалось доработать механизм чтения схемы БД. Мандатная метка записи в БД хранится в поле maclabel.
При выполнении SQL-запроса SELECT * FROM public.incident; СУБД вернёт все имеющиеся столбцы, но не вернёт столбец, содержащий мандатную метку записи. Делать это необходимо принудительно:
SELECT *,maclabel FROM public.incident;
В результате получим выборку, содержащую maclabel (пропущены остальные столбцы):
Доработка запроса получения схемы фреймворком для ORM
Большинство фреймворков, предоставляющих функциональность ORM, требуют доработки функции чтения схемы БД и конструктора запросов, чтобы «научиться» читать и писать корректным образом столбец maclabel . Например, в Yii2 была произведена доработка запроса получения схемы (компонент yii\db\Schema ) следующим образом:
В запрос было добавлено считывание параметра a.attname = 'maclabel'.Бизнес-процессы при использовании нескольких мандатных меток
Указанные выше функции очень понадобятся нам при реализации обязательных для обработки множества мандатных меток бизнес-процессов:
- Разрешение/запрещение редактирования записи/файла с мандатной меткой, отличной от мандатной метки текущего процесса;
- получение коллекции записей/файлов с определённой мандатной меткой (фильтрация обрабатываемых данных на основе мандатной метки).
Простор комбинаций огромнейший, как и пространство для появления ошибок. Поэтому не рекомендуется обрабатывать в рамках одного юзкейса записи с различной мандатной меткой при наличии какой-либо бизнес-логики. Любые операции с коллекцией записей должны производиться с явным указанием мандатной метки, общей для всей коллекции! Обработали третью метку, затем вторую, и т.д.
Например, в системе Jet Signal реализована обработка записей с учётом мандатной метки: пользователь не может отредактировать запись, если метка текущего сеанса пользователя не соответствует мандатной метке приложения.
В системе Jet Signal реализована поддержка нескольких мандатных меток в модуле управления инцидентами информационной безопасности. Мандатная метка каждой записи выводится справа в пользовательском интерфейсе:
Управление структурой базы данных
Именно поэтому рекомендуется предусмотреть механизм, который будет в автоматическом режиме считывать структуру базы данных и производить последовательную установку мандатных меток на объекты БД.
Мы реализовали компонент, который производит установку мандатных меток командами MAC LABEL и MAC CCR на следующие объекты:
- База данных (database);
- схема (schema);
- последовательность (sequence);
- таблица (table).
Аутентификация пользователя и использование учётных данных
Общая схема использования данных аутентификации выглядит следующим образом:
На схеме изображено следующее взаимодействие:
Аутентификация пользователя в веб-приложении
В данном примере реализуется следующий алгоритм:Особенности метода аутентификации
Минусы данного метода аутентификации:
- Обработка логина и пароля в открытом виде. Следует следить за использованием данных текстовых данных в приложении. Рекомендуется использовать их только в рамках одной функции, а после желательно «подчищать». Это позволит быть уверенным, что никто не использует их не по назначению.
- Отсутствие возможности нормального «выхода» из системы с целью дальнейшего входа под другой учётной записью. Для решения этой проблемы придётся реализовать воркэраунд, подменяющий учётные данные на данные несуществующей учётной записи, чтобы получить ошибку и благополучно завершить сессию.
Работа веб-приложения с файлами и каталогами
При выполнении своих задач веб-приложение часто формирует следующие файлы:
- Логи приложения;
- кеш;
- статика CSS+JS (в случае сборки «на лету»).
В Astra Linux используется целый «бутерброд» из средств управления доступом к файлам и каталогам:
- Стандартные средства разграничения прав доступа к фалам и каталогам ( chmod/chown );
- механизм ACL ( getfacl/setfacl );
- мандатная модель ( pdpl-file ).
Поддержка трёх средств управления доступом к файлам в веб-приложении
Большинство фреймворков и библиотек не понимают таких сложностей, и поэтому может потребоваться «научить» фреймворк правильно понимать следующие вещи:
- Имеется ли права на запись в каталог/файл?
- Существует ли каталог или файл в ФС?
Всем учётным записям пользователей приложения после создания необходимо выставлять группу www-data: adduser admin www-data
Хранение файлов с различными мандатными метками
Если нам необходимо хранить файлы с различными мандатными метками, следует делать это по отдельности, в разных каталогах!
Например, журналы, кеш и прочие файлы пишутся у нас в каталог /var/www/webapp/runtime/. В таком случае создаём на каждую метку свой подкаталог:
Использование указанных рецептов по работе с файлами позволит избежать множества проблем и трат времени.
Резюме
Тема использования мандатных меток при разработке приложений обширна, и одной статьёй покрыть её практически невозможно.
Главный вывод: инфраструктура оказывает сильное влияние на бизнес-процессы приложения при использовании мандатной модели управления доступом. Имеется целый ряд функциональных ограничений, допустимых в классическом бизнес-прилжении, и невозможных при использовании мандатной модели. Всем участникам процесса проектирования и подготовки требований к системе необходимо детально ознакомиться со всеми нюансами применения мандатной модели управления доступом.
Дмитрий Грудинин, руководитель группы PHP-разработки. Центр внедрения бизнес-систем «Инфосистемы Джет»
Astra Linux — дериватив Debian, который был создан в рамках российской инициативы перехода на СПО. Существует несколько версий Astra Linux, одна из которых предназначена для общего, повседневного использования — Astra Linux «Орел» Common Edition. Российская операционка для всех — это по определению интересно, и я хочу рассказать об «Орле» с позиции человека, который ежедневно пользуется тремя операционными системами (Windows 10, Mac OS High Sierra и Fedora) и при этом последние 13 лет был верен Ubuntu. Опираясь на этот опыт, я рассмотрю систему с точки зрения установки, интерфейсов, ПО, базовых возможностей для разработчиков и удобства с разных ракурсов. Как покажет себя Astra Linux в сравнении с более распространенными системами? И сможет ли она заменить Windows дома?
Ставим Astra Linux
Установщик Astra Linux имеет большое сходство с установщиком Debian. Пожалуй, первый даже проще, так как большинство параметров фиксировано по умолчанию. Начинается все с общего лицензионного соглашения на фоне не слишком многоэтажной застройки. Возможно, даже в Орле.
Важный пункт в установке — это выбор софта, который идет по умолчанию с системой. Доступные опции покрывают стандартные офисные и рабочие потребности (для «неразработчиков»).
Также последним окном идет дополнительный набор настроек: блокировка интерпретаторов, консоли, трассировки, установки бита исполнения и т. д. Если эти слова вам ничего не говорят, лучше нигде галочки не проставлять. К тому же все это при необходимости можно настроить потом.
Система ставилась внутри виртуальной среды при скромных ресурсах (относительно современных систем). Нареканий по скорости и производительности не возникало. Конфигурация, на которой проходило тестирование, описана ниже.
Процедура установки обычная: монтируем iso-образ, инсталлируем через стандартный процесс установки системы и выжигаем GRUB загрузчик.
Система при загрузке нетребовательна к ресурсам — порядка 250-300 МБ RAM при запуске для десктопного режима.
Альтернативные варианты запуска: режим планшета и телефона
При входе в систему можно выбрать один из нескольких вариантов запуска: безопасный, десктоп, мобильный или планшетный.
Для работы на сенсорных устройствах можно включить экранную клавиатуру.
Посмотрим, что интересного в разных режимах. Десктопный — это обычный режим, где система похожа на Windows.
Планшетный режим подойдет для крупных сенсорных экранов. Помимо очевидных внешних отличий, которые можно увидеть на скриншоте ниже, здесь есть другие особенности интерфейса. Курсор в планшетном режиме невидим, кнопка закрытия приложений вынесена на панель задач. Полноэкранные приложения работают несколько иначе, файлы в файл-менеджере также выбираются по-другому.
Стоит упомянуть и мобильный режим — здесь все примерно так же, как в Android. Используется графическая среда Fly. В сенсорных режимах работает длительное касание, по которому можно вызвать контекстное меню. Мобильный режим потребляет несколько больше ресурсов по сравнению с десктопным и планшетным.
Наличие разных режимов работы — это удобно. Например, если вы используете планшет с подключаемой клавиатурой и, соответственно, сенсорные и несенсорные сценарии использования.
Обновление системы
Перед тем как начать пользоваться системой, ее нужно обновить. В основном репозитории Astra Linux 14 тысяч пакетов (стабильная, тестовая и экспериментальная ветка). Экспериментальная ветка в скором времени получит нестабильные обновления, поэтому будем тестировать ветку testing. Меняем репозиторий на testing.
Запускаем обновление репозитория и обновляем систему. Для этого жмем кнопку «Обновить» сверху слева, потом «Отметить все обновления», затем «Применить». Перезагружаемся.
Пользовательская политика
Новые пользователи создаются в системе через утилиту управления политикой безопасности.
Помимо обычной отдельной и удаленной сессии, можно запустить вложенную сессию (Пуск — Завершение работы — Сессия).
С первыми двумя все понятно. А вложенная сессия — это сессия, которая запускается в окне текущей сессии.
Сессии, кстати, можно завершать через отложенное время: не дожидаться окончания длительных операций, а просто настроить автоматическое выключение.
Интерфейс и стандартное ПО Astra Linux
Astra Linux Common Edition напоминает Debian, каким он был несколько лет назад. Заметно, что внешне Astra Linux Common Edition пытается приблизиться к Windows.
Навигация и работа с файловой системой ближе к Windows, чем к Linux. С образом системы прилагается стандартный набор ПО: офисное, работа с сетью, графика, музыка, видео. Системные настройки также сгруппированы в основном меню. По умолчанию доступно четыре экрана.
Как видно, в качестве офисного пакета в системе установлен LibreOfficeПанель управления схожа с Windows/Mac/etc и группирует основные настройки в одном месте.
Файл-менеджер имеет двухпанельный интерфейс и способен монтировать архивы как папки.
Файл-менеджер умеет вычислять контрольные суммы, в том числе по ГОСТ Р 34.11-2012.
Следующий тест — редактирование графики. Скачали картинку с заголовка статьи Хабра, попросили систему открыть ее в GIMP. Тут тоже ничего необычного.
И вот легким движением руки дописываем тест на КПДВ одной из статей. В принципе, здесь отличий от стандартных Linux-систем нет.
Попробуем выйти за пределы простых сценариев и поставить стандартные пакеты через apt-get.
После апдейта индексов:
Для теста установили python3-pip, zsh и прошли установку oh-my-zsh (с доп зависимостью git). Система отработала в штатном режиме.
Как видим, система хорошо показывает себя в рамках стандартных повседневных сценариев обычного пользователя. Если вы ожидаете увидеть здесь привычные для Debian/Ubuntu программы, то их придется ставить дополнительно, ручками (например, если вам нужны пакеты наподобие ack-grep — они ставятся через curl/sh). Можно добавить репозитории в sources.list и пользоваться привычным apt-get.
Собственные утилиты Astra Linux
Описанные выше инструменты — это всего лишь часть того, что доступно пользователям Astra Linux. Помимо этого, разработчики создали порядка ста дополнительных утилит, которые можно поставить через тот же репозиторий, который использовали для обновления системы.
Чтобы найти утилиты, достаточно провести поиск по слову «fly» — у всех нужных утилит такой префикс.
Рассказать обо всех приложениях в рамках одного обзора сложновато, так что мы выберем несколько полезных с точки зрения простого пользователя. Погодное приложение отображает прогноз в выбранных городах России, оно оптимизировано под российский регион.
Также имеется простая графическая утилита с несколькими фильтрами и настройками для поиска по файлам.
Есть собственная утилита контроля заряда батареи и различные режимы, переход к которым настраивается через таймер — выключение монитора, сон, гибернация.
Выбор исполняемых файлов для команд тоже обернули в графическую оболочку. К примеру, можно указать, какой именно «vi» выберет система при запуске команды.
Отдельной админской утилитой можно настроить, какие приложения стартанут при запуске системы.
Присутствует также мониторинг GPS/ГЛОНАСС, скорее полезный в телефоне/планшете (в которых обычно и присутствует соответствующий модуль).
Имеется и своя несложная PDF-читалка, для тестов запущена на книге Free Culture от Lawrence Lessig.
Обо всех утилитах Fly можно почитать в виртуальном туре по Astra Linux, в разделе «Помощь» на виртуальном рабочем столе.
Контраст с основными системами
С точки зрения интерфейса и логики элементов управления система скорее напоминает классический Windows XP, а временами — отдельные элементы Mac OS.
С точки зрения утилит, консоли и «железячной» части система похожа на классический Debian, что довольно неплохо и привычно тем же пользователям Ubuntu и Minted, хотя самым продвинутым будет не хватать привычного спектра пакетов из всех репозиториев.
Если накладывать свой опыт на портрет потенциальных пользователей, в отношении новой системы у меня создаются положительные ожидания. Основываясь на своем опыте работы с Windows/Mac, обычные пользователи смогут без проблем освоиться в Astra Linux Common Edition. А более продвинутые юзеры Linux с помощью стандартных unix-утилит настроят все, как им удобно.
Текущая версия Astra Linux основана на Debian 9.4, также в ней доступно свежее ядро из Debian 10 (4.19).
Конечно, существуют более новые версии Ubuntu, но есть один маленький, но значимый нюанс — они не LTS (Long Term Support). LTS-версии Ubuntu идут вровень с Astra Linux по версиям пакетов. Я взял данные по Astra Linux (сертифицированной Astra Linux Special Edition, чтобы было легче отследить даты выпуска версий ОС) из Wikipedia, сравнил со сроками выхода LTS-версий Ubuntu, и вот что получилось:
LTS релиз Ubuntu Релиз Astra Linux Special Edition Дата Версия Дата Версия 17.04.2014 14.04 LTS 19.12.2014 1.4 21.04.2016 16.04 LTS 08.04.2016 1.5 26.04.2018 18.04 LTS 26.09.2018 1.6 Вердикт
Основные преимущества Astra Linux «Орел» Common Edition:
- Не падает, не зависает, критичных глюков не замечено.
- Удачно мимикрирует под интерфейсы Windows NT/XP.
- Простота и удобство установки.
- Низкие требования по ресурсам.
- Предустановлено основное ПО: офисный пакет LibreOffice, графический редактор GIMP и т. д.
- Большой набор дополнительных утилит.
- Версии пакетов старее, чем у последних версий Ubuntu.
- Свой репозиторий меньше, чем у Ubuntu и Debian.
Вместе с тем, для домашних пользователей сидеть на LTS-дистрибутиве, может, и не актуально, а для организаций — вполне нормальный вариант. Поэтому выбор разработчиков Astra Linux, нацеленных на корпоративный сегмент, понятен и логичен.
Что касается недостатков, то они, скорее, справедливы для тех, кто привык работать с Linux, так как внешне Astra Linux «Орел» гораздо ближе к Windows, чем к Linux.
Astra Linux «Орел» Common Edition выглядит как неплохая замена офисной версии Windows в рамках программы перехода на свободное программное обеспечение госорганов, а для домашнего использования она может показаться несколько консервативной.
От компании Astra Linux: мы постоянно общаемся с пользователями нашей операционной системы. Нам регулярно пишут о своих впечатлениях — не только те, кто недавно перешел на нашу ОС, но и пользователи, которые давно пользуются нашим ПО. Если у вас есть инсайты, которыми вы готовы поделиться и описать свои пользовательские впечатления от Астры — пишите в комментариях и в наших социальных сетя
Читайте также:
- включен режим МКЦ ОС: