Run0
– это новая программа повышения привилегий для Linux-систем на базе Systemd. Подобно sudo
, она позволяет выполнять команды от имени пользователя root и получать доступ к внутренним устройствам машины. В этой статье мы сравним Run0 с Sudo, чтобы помочь вам выбрать подходящий инструмент повышения привилегий.
Run0 vs Sudo: сравнение бок о бок
Run0 | Sudo | |
---|---|---|
Неконфигурируемость | Не поставляется с файлом конфигурации. Использует флаги командной строки для изменения своего поведения | Поставляется с двумя файлами конфигурации и множеством флагов командной строки |
Простота использования | Простой и понятный в использовании для большинства задач | Может потребовать некоторой настройки для правильной работы |
Безопасность | Не полагается на SUID и имеет меньший объем кода | Опирается на SUID и имеет большую площадь атаки из-за размера кода |
Расширяемость | Не имеет поддержки сторонних плагинов | Имеет API для разработки сторонних плагинов |
Сетевая поддержка | Предназначен для работы на одной машине | Может работать в компьютерных сетях с централизованными политиками доступа |
Лучшее для | Случайные пользователи, ищущие более простую альтернативу Sudo | Опытные пользователи ищут надежный вариант, который можно настроить под себя |
Что такое Run0 и зачем его использовать
Run0, выпущенный в 256-й версии Systemd, представляет собой уникальный подход к повышению привилегий в Linux. Он использует Systemd-run для создания безопасной и изолированной среды для запуска программ с привилегиями root.
Основным преимуществом Run0 является то, что она не полагается на setuid (SUID) для выполнения команд root. Это делает программу неуязвимой для атак повышения привилегий, характерных для больших SUID-программ.

Еще одним преимуществом Run0 является то, что она передает агент аутентификации программе Polkit. Эта программа управляет настройками политики приложений в вашей системе. Это не только централизует аутентификацию на вашей машине, но и дает вам более тонкий контроль над тем, как программы и пользователи получают root-доступ.
Наконец, Run0 создает новый псевдо-TTY (PTY) каждый раз, когда вы вызываете привилегированную команду. Это означает, что программы не наследуют текущее окружение оболочки, что позволяет легко изолировать нарушающий правила процесс в вашей системе.

Что такое Sudo и зачем его использовать
Sudo – одна из самых ранних программ повышения привилегий для Linux и других UNIX-подобных операционных систем. Впервые разработанная в 1980-х годах, она использует встроенную в UNIX систему пользователей и групп для управления привилегиями root для системных команд.
Ключевым преимуществом sudo является то, что это универсальное решение для повышения привилегий и разрешений. С ее помощью вам нужно только настроить файл sudoers для управления тем, кто может быть суперпользователем и какие программы они могут запускать от имени root. Это делает его привлекательным для системных администраторов, которым нужен упрощенный способ управления правами root.

Еще одна причина использовать sudo – возможность отслеживать и просматривать историю системных команд, которые выполнялись на вашей машине разными суперпользователями. Это полезно при устранении неполадок, так как может указать на точный момент, когда в системе возникли проблемы.

Наконец, sudo легко масштабируется на несколько хостов благодаря встроенной поддержке LDAP и Active Directory. Благодаря этому sudo может стать отличным инструментом для администраторов, управляющих несколькими машинами в командах и компаниях.
Run0 против Sudo: всестороннее сравнение
Хотя Run0 и Sudo являются отличными инструментами для повышения привилегий пользователей, обе программы используют разные подходы для достижения этой цели. Ниже мы рассмотрим некоторые из этих различий, чтобы помочь вам определить, какая из них подходит вам больше.
Настраиваемость
В отличие от других программ повышения привилегий, Run0 не использует конфигурационные файлы для изменения своего поведения по умолчанию. Вместо этого вы настраиваете ее с помощью нескольких встроенных флагов, когда запускаете ее в терминале. Это позволяет вам сосредоточиться на рабочем процессе, а не заниматься настройкой конфигурационных файлов.

С другой стороны, sudo предоставляет множество опций в двух своих основных файлах конфигурации: /etc/sudo.conf
и /etc/sudoers
. Оба они работают рука об руку, чтобы контролировать работу sudo в вашей системе. Например, вы можете настроить sudo на работу без пароля. Хотя это может смутить нового пользователя, такой уровень гибкости и настройки позволяет вам создать свой собственный рабочий процесс sudo.

Победитель: Sudo
Простота использования
Большинство дистрибутивов Linux сегодня поставляют Run0 и Sudo с разумными настройками по умолчанию, что делает их простыми в использовании без дополнительной настройки. Тем не менее, между этими двумя программами все еще есть несколько отличий, которые могут стать решающим фактором для некоторых пользователей.
Основная фишка Run0 связана с использованием Polkit для аутентификации. На некоторых терминалах Run0 может отображать запрос пароля на другом дисплее. Это может стать проблемой, если вы используете терминальный мультиплексор, например Tmux, для управления несколькими сеансами оболочки.

Между тем, самая большая пролема Sudo заключается в том, что она не позволяет редактировать файл sudoers с помощью обычного текстового редактора. Вместо этого он просит вас использовать программу под названием Visudo (в некоторых дистрибутивах можно редактировать обычным текстовым редактором), которая добавляет проверки целостности файла sudoers. Хотя это делает редактирование файла sudoers более безопасным, это может быть излишне сложным для обычного пользователя, который хочет управлять только правами root.

Победитель: Run0
Размер исходного кода
Общий размер исходного кода программы является хорошим показателем того, насколько сложной она является на данный момент. Это важно для программ повышения привилегий, поскольку сложность кода может привести к потенциальным эксплойтам безопасности.
Одно из отличий Run0 от других приложений для повышения привилегий заключается в том, что она построена на базе Systemd-run. Это не только позволяет Run0 использовать все возможности Systemd-run, но и означает, что сама программа не содержит большого количества кода. В результате Run0 легче проверить на предмет потенциальных проблем с безопасностью в будущем.

Sudo – это огромный программный проект, охватывающий множество файлов и языков программирования. Хотя эта сложность позволила sudo стать мощным приложением для повышения привилегий, это также означает, что у него огромная поверхность атаки для потенциальных эксплойтов.

Победитель: Run0
Исходный код и возраст
Возраст конкретного программного проекта также является одним из факторов, определяющих надежность программы повышения привилегий. Новые проекты часто содержат больше ошибок и проблем, в то время как старые проекты, как правило, более стабильны.
Run0 – это относительно новая программа, добавленная в Systemd в июне 2024 года. В настоящее время ее можно получить только в таких передовых дистрибутивах, как Arch Linux и Fedora Rawhide. В связи с этим Run0 больше подходит для повседневной и некритичной работы.
Sudo – один из старейших программных проектов, который разрабатывается до сих пор. Имея более чем 30-летнюю историю развития, sudo является очень зрелой программой, способной справляться с различными рабочими нагрузками. Это делает ее очень привлекательной для тех, кто ищет стабильную программу повышения привилегий, на которую можно положиться.
Победитель: Sudo
Заключение
В конечном итоге выбор правильной программы повышения привилегий зависит от того, чего вы хотите добиться от своей системы:
- Если вы ищете простое и удобное приложение для повышения привилегий, Run0 – отличный выбор. Сочетание отсутствия конфигурации и подхода к изоляции корневых процессов делает его отличным вариантом для случайных пользователей, ищущих альтернативу Sudo.
- Если вам нужно настраиваемое и стабильное приложение для повышения привилегий, вы не ошибетесь с Sudo. Благодаря десятилетней истории развития и богатому набору функций, Sudo легко подстроить под ваш рабочий процесс.
Комментарии (0)