sudo

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Sudo
Логотип программы Sudo
Скриншот программы Sudo
sudo в Ubuntu
Тип программы для защиты информации[вд],инструмент командной строки[вд]исвободное и открытое программное обеспечение
Авторы Robert Coggeshall[вд][2]иCliff Spencer[вд][2]
Разработчик Тодд Миллер[вд]
Написана на Си[3]
Операционная система Unix-подобная операционная система
Последняя версия 1.9.15[1](6 ноября 2023;9 месяцев назад(2023-11-06))
Репозиторий github.com/sudo-project/…
Лицензия лицензия ISC
Сайт sudo.ws(англ.)
Логотип ВикискладаМедиафайлы на Викискладе

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

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

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

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

%admin ALL=(ALL) ALL

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

user1 ALL=(user2, user3)NOPASSWD: ALL

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

backup ALL=NOPASSWD: /usr/bin/rsync

Особенности

[править|править код]

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

sudocatsources.list>/etc/apt/sources.list

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

catsources.list|sudotee/etc/apt/sources.list

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

sudosh-c'cat sources.list > /etc/apt/sources.list'

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

sudo-s

можно и так

sudosu

или выполнив

sudosh

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

[править|править код]

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

ВOpenBSD,по умолчанию, используется собственная утилитаdoas[5].

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

  1. Sudo 1.9.15.Дата обращения: 9 июля 2024.Архивировано6 мая 2024 года.
  2. 12A Brief History of Sudo
  3. The sudo Open Source Project on Open Hub: Languages Page— 2006.
  4. Администратор в Ubuntu, или что такое sudo | Русскоязычная документация по Ubuntu.Дата обращения: 3 апреля 2013. Архивировано изоригинала4 апреля 2013 года.
  5. doas(1) - OpenBSD manual pages.man.openbsd.org.Дата обращения: 8 декабря 2023.Архивировано8 декабря 2023 года.