The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз systemd 232"
Отправлено Аноним, 08-Ноя-16 06:46 
> Приложите глаза вот сюда: http://git.altlinux.org/gears/c/chrooted.git

Приложил. Вижу какие-то заброшенные шеллскрипты, кажется творчества Led'а. Может быть я глупый, но я не понимаю что там хорошего, интересного и правильного. На systemd.exec по уровню умений вроде не похоже, да и фанатом системных тулсов на шелле я не являюсь.

> Потребные _кому_?  Себе любимому?  

Да, вы знаете, когда для запуска сервиса требуется доступ к туче утилит и либ нужных для работы утилит - мне это не нравится. К тому же большинство утилит предполагают что доступ полный, а поскольку контекст частично урезан - это не так. И придется закатывать основательное исследование до того как это заработает в желаемом виде. Многовато возни для типовой хотелки.

А потуги сетевого сервиса запустить шелл - отличный индикатор того что в системе орудует хаксор. Поэтому большинство сетевых сервисов перебьются вообще без возможности запускать шелл.

> А сервису от этого холодно или жарко?..

Сервису то пофиг, а вот ограничиваемому контексту приходится иметь уйму доступа во все закоулки системы. Иначе не запустятся утилиты которые его будут формировать. Да еще это привилегированные операции, угодить на все утилсы - долбательно. Особенно если кто не считает что линукс заканчивается на ulimit и nice и хочет посвежее и помощнее.

А системд - он в правильном месте, в правильное время, с нужными правами - уже запущен, либы вгрузил, совсем-полные права. И поэтому он может орудовать при формировании контекста значительно более вольно, не боясь обломать себе свои же операции. Если не накосячит с последовательностью сисколов, конечно. А если накосячит - получит жирный баг!

> Вы бы всё-таки посмотрели на прикладной privsep, что ли.

Это та неведома зверушка на питоне? Или я что-то не то нашел?

> может требуемую инициализацию (например, сокета) выполнить от рута,

Это какое-то очень первобытное понимание Linux вообще и CAPSов в частности. Чтобы инициализировать сокет, даже на нижних портах - в линуксе не надо быть рутом. Надо чтобы были CAPSы на это. А вот тут выезжает системд на белом коне и оставляет проге только те капсы которые требовались. И никаких рутов. Будет у проги капс на создание сокетов - и хватит с нее. Единственный урон системе через это - порт занять можно. Если это проблема, можно и net ns отдельный дать. И пусть занимает там хоть все порты.

> затем бросить лишние привилегии (включая setreuid'ы) и работать дальше -- возможно,
> и не под одним псевдопользователем, а под несколькими.

Я вот так с наскока не возьмусь допатчить взятый наобум сервис до уровня умений systemd .exec + .resource_control хотя-бы. И как я вижу - Led и сотоварищи тоже к подобному уровню фич тоже и близко не стояли, так что я себя даже позорником не ощущаю признаваясь в этом :).

> Как-то можно оформить и снаружи, но если в контексте не остаётся рута и способа его вернуть.

Ну вот прелесть системды в том что он может довольно много чего оформлять "снаружи", да еще и головняк как правильно вызвать при этом сисколы - у него. И если им переключить юзера, отобрать капсы и отключить явно лишние системные вызовы и порубить доступ к ФС, а то и namespace'ы повключать - не совсем понимаю как рута возвращать предлагается? Системд может и не идеален, но умеет в разы больше всего этого чем типичный сервис, в чем можно убедиться почитав ман на .exeс и .resource-control. А поскольку для майнтайнера это сводится к нескольким строкам конфига, дебианщики стали местами гайки своим сервисам и подтягивать даже. Что по-моему полезное начинание. И до системд что-то такое если и практиковалось то эпизодически и лайтово по сравнению с тем что можно делать через системд. Теоретически то можно и без системд. А практически - без системд можно и подзадолбаться.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру