Linux

Как использовать sudo в Linux: Полное руководство для начинающих

Это руководство поможет вам освоить команду sudo в Linux: от базового использования до настройки безопасности. Вы научитесь выполнять задачи от имени root без риска.

Обновлено 17 февраля 2026 г.
15-20 мин
Низкая
FixPedia Team
Применимо к:Ubuntu 20.04+Debian 10+CentOS 7+Fedora 35+

Введение / Зачем это нужно

Команда sudo — это ключевой инструмент для администрирования Linux. Она позволяет выполнять операции, требующие прав суперпользователя (root), используя пароль вашей обычной учетной записи. Это значительно повышает безопасность системы, так как:

  • Все команды с sudo логируются.
  • Нет необходимости постоянно работать под root.
  • Легко отзывать права у конкретного пользователя.

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

Требования / Подготовка

Перед началом убедитесь, что:

  1. У вас есть доступ к терминалу Linux (Ubuntu, Debian, CentOS, Fedora или любая другая дистрибутив).
  2. Ваша учетная запись имеет права sudo (обычно это аккаунт, созданный при установке системы).
  3. Пакет sudo установлен (в большинстве современных дистрибутивов он есть по умолчанию).

Если вы не уверены в наличии прав, перейдите сразу к шагу 1.

Шаг 1: Проверка текущих прав sudo

Сначала проверьте, можете ли вы использовать sudo:

sudo -l

Что делает команда: -l (list) показывает список команд, которые вы можете выполнять с sudo. Если вы видите сообщение sudo: a password is required, введите пароль вашей учетной записи. Если появляется ошибка user is not in the sudoers file, значит, ваша учетная запись не имеет прав sudo — перейдите к шагу 3.

Шаг 2: Базовое использование sudo

Для выполнения любой команды от имени root просто добавьте sudo в начало:

# Обновление списка пакетов (Ubuntu/Debian)
sudo apt update

# Перезапуск веб-сервера nginx
sudo systemctl restart nginx

# Создание файла в защищенной директории
sudo touch /root/test.txt

Важно: При первом использовании sudo в сессии система запросит пароль вашей учетной записи (не пароль root). После ввода пароль кэшируется на 15 минут (по умолчанию), и последующие команды sudo не будут его запрашивать.

Шаг 3: Настройка файла sudoers

Если ваша учетная запись не имеет прав sudo, добавьте её в группу sudo (для Debian/Ubuntu) или wheel (для RHEL/CentOS/Fedora). Для этого потребуются права root (например, через вход под root или использование другого аккаунта с sudo).

# Для Debian/Ubuntu
sudo usermod -aG sudo your_username

# Для RHEL/CentOS/Fedora
sudo usermod -aG wheel your_username

После выполнения команды важно выйти из системы и войти заново, чтобы изменения вступили в силу.

Дополнительная настройка через visudo:
Файл /etc/sudoers управляет детальными правилами. Всегда редактируйте его через visudo, который проверяет синтаксис перед сохранением:

sudo visudo

Пример добавления правила для конкретного пользователя (замените username):

username ALL=(ALL:ALL) ALL

Это дает полные права sudo. Для ограничения (например, только перезапуск nginx) укажите:

username ALL=(ALL) /usr/bin/systemctl restart nginx

Шаг 4: Безопасность и лучшие практики

  1. Избегайте sudo -i для повседневных задач. Эта команда дает полноценную root-сессию, что опасно. Лучше используйте sudo для каждой конкретной команды.
  2. Настройте таймаут: Чтобы сократить время, в течение которого sudo не запрашивает пароль, отредактируйте /etc/sudoers через visudo:
    Defaults timestamp_timeout=5
    
    Значение в минутах (здесь 5). Установите 0, чтобы запрашивать пароль каждый раз.
  3. Осторожно с NOPASSWD: Директива NOPASSWD в sudoers позволяет выполнять команды без пароля. Используйте её только для автоматизированных скриптов и строго определенных команд.
  4. Всегда проверяйте команды: Перед нажатием Enter с sudo перечитайте команду, особенно если она содержит rm, dd, mv или изменение системных файлов.

Шаг 5: Решение частых проблем

ПроблемаРешение
sudo: command not foundУстановите пакет sudo: apt install sudo (Debian/Ubuntu) или yum install sudo (RHEL/CentOS).
user is not in the sudoers fileДобавьте пользователя в группу sudo/wheel (см. шаг 3) и перезайдите в систему.
sudo: no tty present and no askpass program specifiedПроизошло при выполнении sudo в неинтерактивном режиме (например, в скрипте). Используйте sudo -S для передачи пароля через stdin или настройте NOPASSWD для конкретной команды.
Ошибка синтаксиса в sudoersВсегда редактируйте через sudo visudo. Он проверит синтаксис перед сохранением.

Проверка результата

Убедитесь, что sudo работает корректно:

  1. Выполните команду, требующую прав root, например:
    sudo whoami
    
    Ожидаемый вывод: root.
  2. Проверьте, что ваша учетная запись в группе sudo:
    groups
    
    В списке должна быть sudo или wheel.
  3. Попробуйте обновить систему (если это Debian/Ubuntu):
    sudo apt update
    
    Команда должна выполниться без ошибок доступа.

Возможные проблемы

Проблема: После добавления в группу sudo команды все равно не работают.
Решение: Выйдите из системы и войдите заново (или перезагрузитесь). Группы обновляются только при новой сессии.

Проблема: sudo запрашивает пароль, но система говорит, что пароль неверный.
Решение: Убедитесь, что вводите пароль вашей учетной записи, а не root. Проверьте, не включена ли клавиша Caps Lock.

Проблема: При редактировании sudoers через visudo появляется ошибка >>> sudoers file: syntax error.
Решение: visudo не сохранит файл с ошибкой. Вернитесь в редактор (обычно vi), найдите строку с ошибкой (она отмечена >>>) и исправьте синтаксис. Частые ошибки: пропущенные двоеточия, неправильные разрешения.

Проблема: Нужно выполнить длительную команду (например, копирование большого файла), а таймаут sudo истекает.
Решение: В другой терминал выполните sudo -v для обновления таймаута. Или настройте более длинный timestamp_timeout в sudoers.

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

Что такое sudo и зачем оно нужно в Linux?
Как добавить пользователя в группу sudo?
Чем sudo отличается от su?
Как безопасно использовать sudo, чтобы не навредить системе?

Полезное

Проверка текущих прав sudo
Базовое использование sudo
Настройка файла sudoers
Безопасность и лучшие практики
Решение частых проблем

Эта статья помогла вам решить проблему?