Перейти к содержимому

Команды

sudo в Linux: запуск команд от root, sudo -l и /etc/sudoers

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

Основные команды

КомандаЧто делает
sudo командавыполнить от root (спросит ваш пароль)
sudo -u postgres командаот имени другого пользователя
sudo -iинтерактивная оболочка root
sudo -lчто мне разрешено запускать
sudo -kзабыть сохранённый пароль (по умолчанию помнит ~15 минут)
sudo !!повторить предыдущую команду через sudo
su - aliceпереключиться на пользователя alice (спросит её пароль)

/etc/sudoers

# пользователь  хосты=(от кого)  команды
alice   ALL=(ALL:ALL) ALL
bob     ALL=(root) /usr/bin/systemctl restart nginx
%admins ALL=(ALL) NOPASSWD: ALL
  • %admins — группа;
  • NOPASSWD: — без запроса пароля;
  • дополнительные правила кладут в /etc/sudoers.d/.

Редактируйте только через sudo visudo: он проверяет синтаксис. Ошибка в sudoers может отрезать доступ к root.

Журнал

sudo:  deploy : TTY=pts/1 ; PWD=/home/deploy ; USER=root ; COMMAND=/usr/bin/cat /etc/shadow

Записи лежат в /var/log/auth.log (Debian, Ubuntu) или /var/log/secure (RHEL). Неожиданные команды через sudo — один из главных признаков взлома.

Опасные правила

Разрешение запускать «одну программу» через sudo — это root, если программа умеет запускать другие команды:

РазрешеноКак получить оболочку root
vim, less, man:!/bin/bash, !sh
findsudo find . -exec /bin/sh \; -quit
python3, perl, rubysudo python3 -c 'import os; os.system("/bin/sh")'
tar, zip, git, awkчерез параметры, запускающие команды
скрипт, доступный на записьизменить скрипт

Справочник таких приёмов — GTFOBins. Поэтому первая команда пентестера после получения оболочки — sudo -l.

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

Обновлено 20 октября 2026 г.

sudo в Linux: запуск команд от root, sudo -l и /etc/sudoers — CyberLab