Lt304888.ru

Туристические услуги

Sudo

21-10-2023

Sudo в Ubuntu

sudo (англ. superuser [substitute user] do, дословно «выполнить от имени суперпользователя») — это программа, разработанная в помощь системному администратору и позволяющая делегировать те или иные привилегированные ресурсы пользователям с ведением протокола работы. Основная идея — дать пользователям как можно меньше прав, но при этом достаточно для решения поставленных задач. Программа поставляется для большинства UNIX и UNIX-подобных операционных систем.

Команда sudo предоставляет возможность пользователям выполнять команды от имени суперпользователя root, либо других пользователей. Правила, используемые sudo для принятия решения о предоставлении доступа, находятся в файле /etc/sudoers; язык их написания и примеры использования довольно подробно изложены в man sudoers(5).

В большинстве случаев грамотная настройка sudo делает работу от имени суперпользователя ненужной. Все действия оказываются выполнимы из-под аккаунта обычного пользователя, хотя стиль работы для привыкших работать «в полную силу» оказывается несколько неудобным.

Содержание

Примеры

Разрешить пользователям, входящим в группу (англ.) «admin», выполнять команды с правами любого пользователя (с запросом пароля):

%admin ALL=(ALL) ALL

Позволить пользователю «user1» выполнять команды с правами «user2» или «user3», не запрашивая пароль:

user1 ALL=(user2, user3)NOPASSWD: ALL

Разрешить пользователю «backup» выполнять команду /usr/bin/rsync без запроса пароля:

backup ALL=NOPASSWD: /usr/bin/rsync

Особенности

Программу критикуют, в частности, за невозможность выполнять некоторые команды. К примеру:

sudo cat sources.list > /etc/apt/sources.list

выдаст ошибку прав доступа (так как с правами root выполняется только процесс cat, а перенаправление выполняет shell с правами обычного пользователя), хотя такое можно сделать, использовав конвейер:

cat sources.list | sudo [[tee]] /etc/apt/sources.list

также ничто не мешает выполнить shell с административными правами, а строку к выполнению взять в кавычки, используя параметр «»:

sudo sh -c 'cat sources.list > /etc/apt/sources.list'

или же попасть в shell интерактивно аналогично работе su, используя параметр «-s»:

sudo -s

можно и так

sudo su

или выполнив

sudo sh

Схожие программы

В OpenSolaris вместо sudo используется команда pfexec, работающая на основе RBAC.

Windows имеет похожую команду runas.

См. также

Ссылки

  • sudo homepage  (англ.)
  • sudo (ubuntu)  (рус.)
  • преимущества sudo перед su  (рус.)


Sudo.

© 2020–2023 lt304888.ru, Россия, Волжский, ул. Больничная 49, +7 (8443) 85-29-01