Системный Linux-менеджер systemd продолжает наращивать свою богатую функциональность. Очередным пополнением в наборе демонов, библиотек и утилит стала новая команда machinectl shell, которую добавили этим патчем. Она заменит устаревшую и «концептуально неправильную» su, с которой юниксоиды мучились более тридцати лет. Команда запускает привилегированные сессии, полностью изолированные от первоначальной сессии.

Зачем понадобилась альтернатива su? На этот вопрос отвечает сам автор Леннарт Поттеринг.

«Тема долго обсуждалась, но проблема в том, что предназначение команды su не совсем ясно. С одной стороны, она должна открыть новую сессию и изменить параметры контекста исполнения (uid, gid, env и др.). С другой стороны, должна получить в наследство многие концепты от первоначальной сессии (tty, cgroup, audit и др.). Поскольку всё смутно определяется, то выходит действительно странная смесь старых и новых параметров. Чтобы иметь хоть какой-то контроль, мы решили менять только абсолютный минимум.

Если вкратце, команда su концептуально неправильная. Она дает что-то наподобие шелла, и здесь всё отлично, но это не полный логин, и его нельзя путать с таковым».

Новая команда machinectl shell создает su-подобные сессии с разными параметрами.

Machinectl shell – только одно из многих нововведений в systemd за последнее время. Некоторые новшества весьма противоречивы, потому что пересматривают ключевые системные элементы Linux.

Подписаться
Уведомить о
6 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии