sudo
Sudo | |
---|---|
![]() | |
![]() sudo в Ubuntu | |
Тип | программы для защиты информации[d], command-line tool[d] и свободное и открытое программное обеспечение |
Разработчик | Todd C. Miller[d] |
Написана на | Си[2] |
Операционная система | Unix-подобная операционная система |
Последняя версия | 1.9.12[1] (23 октября 2022 ) |
Репозиторий | sudo.ws/repos/sudo |
Лицензия | Лицензия ISC |
Сайт | sudo.ws (англ.) |
![]() |
sudo (англ. Substitute User and do, дословно «подменить пользователя и выполнить») — программа для системного администрирования UNIX-систем, позволяющая делегировать те или иные привилегированные ресурсы пользователям с ведением протокола работы. Основная идея — дать пользователям как можно меньше прав, при этом достаточных для решения поставленных задач. Программа поставляется для большинства UNIX и UNIX-подобных операционных систем.
Команда sudo предоставляет возможность пользователям выполнять команды от имени суперпользователя root, либо других пользователей. Правила, используемые sudo для принятия решения о предоставлении доступа, находятся в файле /etc/sudoers
(для редактирования файла можно использовать специальный редактор visudo
, запускаемый из командной строки без параметров, в том числе без указания пути к файлу); язык их написания и примеры использования подробно изложены в man sudoers(5).
В большинстве случаев грамотная настройка sudo делает небезопасную работу от имени суперпользователя ненужной. Все действия оказываются выполнимы из-под аккаунта пользователя, которому разрешено использовать sudo без ограничений. Имеется возможность запрещать и разрешать определённым пользователям или группам выполнение конкретного набора программ, а также разрешить выполнение определённых программ без необходимости ввода своего пароля[3].
Примеры[править | править код]
Разрешить пользователям, входящим в группу «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 1.9.12 .
- ↑ The sudo Open Source Project on Open Hub: Languages Page — 2006.
- ↑ Администратор в Ubuntu, или что такое sudo | Русскоязычная документация по Ubuntu (недоступная ссылка — история). Дата обращения: 3 апреля 2013. Архивировано 4 апреля 2013 года.
См. также[править | править код]
Ссылки[править | править код]
- sudo homepage Архивная копия от 15 марта 2022 на Wayback Machine (англ.)
- sudo (ubuntu) Архивная копия от 5 сентября 2007 на Wayback Machine (рус.)
- преимущества sudo перед su (рус.)
Это статья-заготовка о программном обеспечении. Помогите Википедии, дополнив эту статью, как и любую другую. |
Для улучшения этой статьи желательно:
|