Команда sudo в Linux

В последнее время, в связи с импортозамещением весьма популярно использование операционной системы Линукс. Если вы являетесь новичком, то уже должны были обратить внимание, что для введения настроек и применения всевозможных опций в обязательном порядке необходимо иметь права «суперпользователя».

Людям, которые предпочитают ОС Windows, этот подход также должен быть знаком. Особенно актуально наличие специальных прав в том случае, если нужно установить определенные программы или изменить системные параметры. В данном случае операционная система выведет запрос на подтверждение выполнения требуемой задачи от имени администратора.

Что делает команда sudo?

Операционная система Linux не имеет вышеописанной возможности, которая есть в ОС Windows. Для этих целей в «Линукс» предусмотрена специальная команда – sudo. Она дает возможность запускать программы от имени как стороннего пользователя, так и «суперпользователя», другими словами с помощью утилиты можно выполнять команды от root.

Команда не найдена

Часто при установке нового дистрибутива Linux, не устанавливается по умолчанию утилита "sudo", именно поэтому ее нужно установить дополнительно.

В начале определяем установлена ли sudo, для этого в терминале вводим название утилиты без аргументов.

sudo

Команда не уставлена, если интерпретатор выдаст одно из сообщений:

  • Команда не найдена;
  • not found;
  • command not found.

Установка утилиты.

Debian:

apt-get install sudo

Centos:
yum install sudo

Синтаксис

В синтаксисе данной команды нет ничего сложного.

sudo [параметры] [программа] [настройки]

Утилита дает возможность выполнить практически любую команду в ОС Linux. Сложностей не возникнет даже у нового пользователя.

Утилита «по умолчанию» запустит именно ту команду, которая была указана вами. Стоит отметить, что она будет запущена от имени «суперпользователя» root. Если вам требуется соблюдение определённых параметров, потребуется ввести настройки. Для этих целей в команде обязательно прописывается опция или еще ее называют аргумент.

Основные параметры:

  • «-A» (--askpass). В ОС «Линукс» согласно первоначальным настройкам запрашивается пароль от терминала. Если воспользоваться данной опцией, утилита предложит графическое введение параметров.
  • «-b» (--background). В этом случае будет запущена требуемая программа в фоновом режиме.
  • «-C» (--close-from). Здесь потребуется передать опции численное значение, которое будет более трех. С помощью такого функционала задаются файловые дескрипторы, которые распространяются на программу. Исключена вероятность классического вывода и ввода информации.
  • «-E» (--preserve-env). Эта функция передает переменное окружение, которое имеется у текущего пользователя, запускаемой программе. Опции дополнительно можно передавать определённый перечень переменных, которым разрешается доступ.
  • «-e» (--edit). С использованием опции появляется возможность редактирования обрабатываемого файла вместо запуска определённой команды. Этот файл помещается в созданный временно каталог, где корректируется через специальную программу. Стоит отметить, она установлена в ОС «по умолчанию». Если вы внесли изменения в файл, он будет сохранен с теми же правами.
  • «-g». В этом случае отображается указываемая вами группа вместо группы, присущей иному владельцу.
  • «-h». Опция даёт возможность запустить команду от иного имени, чаще всего, от имени иного хоста.
  • «-H» (--set-home). Появляется возможность создать свой каталог.
  • «-i» (--login). Такая опция дает возможность пройти авторизацию в определенной консоли от имени стороннего пользователя. Здесь определяется адрес домашней папки, загружается весь перечень переменных из окружения пользователя.
  • «-k». После введения опции sudo не сохраняет данные пароля. Спустя определенный промежуток времени повторно можно пользоваться утилитой, но обязательно нужно вводить пароль.
  • «-l» (--list). дает возможность посмотреть список команд, которые распространяются на удаленных пользователей.
  • «-n» (--non-interactive). Здесь запускается неинтеррактивный режим. При необходимости введения пароля на экране монитора появится ошибка.
  • «-p» (--prompt). позволяет использовать свои приглашения при вводе пароля.
  • «-r» (--role). Программа выполняется с контекстом SE Линукс. У него уже прописана первоначальная роль.
  • «-S». Опция дает возможность применить стандартный поток ошибок. Это осуществляется при запросе данных пароля.
  • «-s» (--shell). Есть возможность включить командный интерпретатор.
  • «-U» (--User). Такая команда применяется совместно с функцией «-l», дает возможность изучить имеющие привилегии у пользователя.
  • «-T» (--timeout). У пользователя появляется возможность настроить время осуществления определённой команды. Если оно закончится до того, как команда завершится, она закроется в принудительном порядке.
  • «-u». Такая опция дает возможность прописать имя пользователя.
  • «--». Эта функция исключит вероятность обработки последующих опций.

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

Примеры

Стоит рассмотреть наиболее популярные примеры применения команды.

Весьма часто пользователям требуется запустить определённую программу с правами root. Для этих целей потребуется прописать «sudo». К примеру, поменяем пароль для пользователя "user".

sudo passwd user

Запуск программы от имени другого пользователя. В данном случае потребуется использовать опцию «-u».

sudo -u user nano

Авторизация от имени иного «суперпользователя». В такой ситуации нужно применить опцию «-i».

sudo –i localnet

Авторизация от имени стороннего пользователя. Здесь потребуется обязательно казать его имя. Пример – $ sudo -i -u sergiy программа.

Редактирование системных файлов. Для осуществления поставленной перед пользователем задачи необходимо применить опцию «-е». Она откроет редактор, который установлен в системе согласно изначальным настройкам.

sudo -e /etc/group

Запуск программы в фоне. Для этого нужна опция «-b», которая позволит выполнить задачу.

sudo -b программа -с /путь_к_файлу_с_конфигурацией.

Выше описаны только общие примеры, которые чаще всего требуются пользователям операционной системы «Линукс».