0Pricing
DevOps Bootcamp · Урок

Повышение привилегий с become

Выполняйте задачи от имени root с помощью sudo.

«Повышение привилегий с become» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 4 уроков всего.

Для некоторых задач нужен root

Для установки пакетов или перезапуска служб обычно нужны права root. Ansible решает эту задачу с помощью повышения привилегий, а не отдельного входа под root. 🔐

Включите его с помощью become

Добавьте флаг --become, часто сокращаемый до -b, чтобы выполнить разовую команду с повышенными привилегиями на удалённом хосте.

ansible all -b -m package -a "name=git state=present"

sudo — метод по умолчанию

По умолчанию become использует sudo для повышения привилегий. Это работает в большинстве систем Linux без дополнительной настройки.

ansible web -b -m service -a "name=nginx state=restarted"

По умолчанию переходите к root

При повышении привилегий Ansible становится пользователем root, если не указать другое. Для большинства административных задач это правильная целевая учётная запись.

Смените пользователя с помощью become_user

Используйте --become-user, чтобы перейти к пользователю, отличному от root, например развернуть файлы от имени учётной записи postgres или deploy.

ansible db -b --become-user postgres -m command -a "psql -c '\\l'"

Выберите метод

Флаг --become-method задаёт способ повышения привилегий: например, sudo, su или doas — в зависимости от возможностей ваших хостов.

ansible all -b --become-method su -m ping

Запросите пароль sudo

Если sudo запрашивает пароль, добавьте --ask-become-pass, часто записываемый как -K, и Ansible один раз запросит его перед запуском.

ansible all -b -K -m package -a "name=vim state=present"

Запомните три элемента

У повышения привилегий есть три параметра: become включает его, become_user задаёт пользователя, а become_method — способ. Вместе они подходят для любого хоста.

Те же ключи в плейбуках

Этим флагам соответствуют директивы: become: true, become_user и become_method. Позже вы будете использовать их внутри плейбуков.

become: true

Сначала подключайтесь, затем повышайте привилегии

Ansible сначала входит в систему под вашим пользователем SSH, а затем повышает привилегии на хосте. Это два отдельных шага, поэтому не путайте их.

ansible web -u deploy -b -m ping

Повышайте привилегии только при необходимости

Не используйте become для задач только на чтение, например проверки связи или сбора фактов. Оставьте его для действий, которым действительно нужны расширенные права.

Быстрая проверка

Какой метод повышения привилегий используется по умолчанию при применении become?

Итоги

Теперь вы умеете безопасно переходить к root: become включает повышение привилегий, become_user задаёт целевого пользователя, а -K запрашивает пароль. 🔐

Часто задаваемые вопросы

Урок «Повышение привилегий с become» бесплатный?

Да — полный текст урока «Повышение привилегий с become» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.

Чему я научусь в уроке «Повышение привилегий с become»?

Выполняйте задачи от имени root с помощью sudo. Ты практикуешь DevOps Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать DevOps Bootcamp?

Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Повышение привилегий с become»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке DevOps Bootcamp?

Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Анатомия команды ansible
  2. Шаблоны: выбор всех узлов, web и host1
  3. Выполнение команд оболочки с command и shell
  4. Повышение привилегий с become
← Назад к DevOps Bootcamp