Как стать автором
Обновить

su и sudo в новом формате

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.1K
Автор оригинала: Arthur

Кратко

suex и sush являются упрощёнными альтернативами su и sudo.

Эти инструменты облегчают выполнение команд с различными привилегиями без сложных настроек.

Установка требует создания группы suex с минимальной конфигурацией.

Более подробная информация доступна в репозитории suex на GitHub: https://github.com/mobydeck/suex

В мире Linux инструменты, такие как su и sudo, давно являются хранителями повышенных привилегий. Они существуют уже почти полвека, помогая нам с лёгкостью переключаться между ролями пользователей. Но, как говорится, когда от старой привычки трудно избавиться, то её просто нужно заменить на другую.

Встречайте suex и sush

Эти современные решения, написанные на чистом C, появились как упрощенные альтернативы для тех, кто считает традиционные su и sudo чрезмерно сложными. Зачем мучиться с файлами /etc/sudoers, когда простота и безопасность могут сосуществовать в гармонии?

Наследие su и sudo

В течение 25 лет я полагался на su и sudo как на незаменимых спутников в моих приключениях в мире Linux — от SSH-сессий до работы с Dockerfile и CI/CD. Но роль, которую они играют сегодня, кажется несколько... преувеличенной. Сейчас Linux часто играет роль обертки — средства для достижения цели в наших контейнеризованных инфраструктурах.

sudo превосходен в многопользовательских системах, предлагая детализированные настройки — идеально для сценариев, которые почти никто больше не использует. Вместо этого мы постоянно решаем только две задачи: выполнение команд от имени другого пользователя и переключение на shell другого пользователя.

Зачем нужны suex и sush?

suex и sush были созданы из необходимости в простоте, преобразуя управление привилегиями в задачу, столь же изящную и плавную, как великолепно исполняемый балет — точную, плавную и лёгкую.

suex — упрощённый sudo

Прощайте, сложные файлы /etc/sudoers. С suex, право вашего пользователя выполнять команды от имени другого легко достигается через членство в группе suex.

Речь идет о прямом выполнении команд, без дочерних процессов, обеспечивая правильную работу TTY и системных сигналов. Пользователи root могут понижать привилегии, а те, кто в группе suex, могут их повышать — простота в лучшем виде.

Например, пользователь root может упростить выполнение команды от имени непривилегированного пользователя:

suex nobody /bin/program

или непривилегированный пользователь может выполнить команду от имени root:

suex /bin/program

sush — замена sudo su

Замените вашу часто используемую команду sudo su - простым sush. Будь то переключение на root или shell другого пользователя, sush легко справится с переходом, при условии, что вы состоите в группе suex.

Настройка окружения происходит автоматически, и да, sush меняет домашнюю директорию на директорию целевого пользователя.

Например, переключиться на bash пользователя webadmin так же просто, как:

sush -s /bin/bash webadmin

или переключиться на стандартный shell пользователя webadmin:

sush webadmin

Непривилегированный пользователь легко может зайти в shell root, введя:

sush

Гармоничная интеграция

Вместе suex и sush образуют эффективный дуэт, современное решение для управления привилегиями в Linux:

  • suex: Выполнение команд с новыми привилегиями напрямую.

  • sush: Переключение в интерактивный shell.

Пора ли вам принять революцию suex/sush? Я полагаю, что да. А решать вам.

Установка и более подробная информация доступны в репозитории suex на GitHub: https://github.com/mobydeck/suex

Теги:
Хабы:
-5
Комментарии14

Публикации

Работа

DevOps инженер
32 вакансии
Программист С
40 вакансий

Ближайшие события