sudo = безопасность
В Linux вопросу безопасности уделяется очень важное место. В тоже время для управления операционной системой требуются права администратора. И раздавать пароль администратора направо и налево подобно выходу на оживленный перекресток с закрытыми глазами.
Зачем?? Если, к примеру, надо дать право запускать только одну-две команды?
Для выделения привилегированных ресурсов конкретному пользователю системы используется sudo.
sudo (англ. superuser [substitute user] do, дословно «выполнить от имени суперпользователя») — это программа, разработанная в помощь системному администратору и позволяющая делегировать те или иные привилегированные ресурсы пользователям с ведением протокола работы. Основная идея — дать пользователям как можно меньше прав, но при этом ровно столько, сколько необходимо для решения поставленных задач.
по материалам Википедии
В Ubuntu sudo используется по умолчанию, при этом аккаунт администратора отключен. В других дистрибутивов sudo необходимо устанавливать. Например в Archlinux:
yaourt -S sudo
После чего пакет необходимо настроить. Для этого производиться редактирование файла /etc/sudoers. Не пытайтесь редактировать его непосредственно! Для редактирования файла существует специальная команда visudo, которая вызывает текстовый редактор vi для редактирования файла /etc/sudoers, все изменения записываются во временный файл и при попытке сохранения файла производиться проверка синтаксиса, и если все нормально, то производиться замещение существующего файла новой копией, а в случае ошибки выдается предупреждение, и дается возможность исправить ошибку. Если записать файл, проигнорировав предупреждение, то получим не работающую sudo.
Сразу после установки команда sudo не доступна ни одному из пользователей. Необходимые привелегии нужно задавать в файле конфигурации. Для передачи прав администратора обычно используется группа wheel. В Archlinux после установки sudo нужно назначить группу wheel определенным пользователям:
gpasswd -auserwheel
После внесения пользователя в группу, ему необходимо перелогиниться, для того, чтобы использовать возможности группы. Затем конфигурируем sudo. Вот пример моего файла:
# sudoers file.
#
# This file MUST be edited with the ‘visudo’ command as root.
# Failure to use ‘visudo’ may result in syntax or file permission errors
# that prevent sudo from running.
#
# See the sudoers man page for the details on how to write a sudoers file.
## Host alias specification
# User alias specification
# Cmnd alias specification
# Defaults specification
# Runas alias specification
# User privilege specification
root ALL=(ALL) ALL# Uncomment to allow people in group wheel to run all commands
%wheel ALL=(ALL) ALL# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL%wheel ALL = NOPASSWD: /sbin/shutdown,/sbin/poweroff,/sbin/reboot
%wheel ALL = NOPASSWD: /usr/bin/pacman
%wheel ALL = NOPASSWD: /usr/bin/pacdiffviewer,/usr/bin/pacman-color# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now
Я не задавал алиасы, которые используются для упрощения описания конфигурации. Более подробно по конфигурации с алиасами можно посмотреть здесь.
Как видно из приведенного файла конфигурации, права администратора выдаются пользователю root и группе wheel. Причем пользователи группы wheel при использовании команды sudo должны будут использовать СВОЙ пароль для подтверждения права использования привилегированных ресурсов. А в случае использовании команд shutdown, poweroff, reboot, pacman, pacdiffviewer и pacman-color ввод пароля не требуется.
Таким образом, с помощью команды sudo можно очень четко распределять привилегированные ресурсы операционной системы между различными пользователями, снижая вероятность взлома или поломки системы. При этом пользователю root можно запретить вход в систему. Что только повысит безопасность системы.
И еще, в дополнение:
В большинстве случаев грамотная настройка sudo делает работу от имени суперпользователя ненужной (хотя и несколько неудобной, для привыкших работать «в полную силу»).
Программу критикуют, в частности, что невозможно выполнять некоторые команды. К примеру:
sudo cat sources.list > /etc/apt/sources.listвыдаст ошибку прав доступа (так как с правами root выполняется только процесс cat, а перенаправление выполняет shell с правами обычного пользователя), хотя такое можно сделать, использовав конвейер:
cat sources.list | sudo tee /etc/apt/sources.listтак-же ничто не мешает выполнить шелл с административными правами и используя параметр шела -с выполнить взяв строку к выполнению в кавычки:
sudo sh -c 'cat sources.list > /etc/apt/sources.list'или же попасть в шелл интерактивно аналогично работе su используя параметр -s
sudo -sили выполнив
sudo sh
по материалам Википедии
Похожие записи:
- безопасность wordpress
- yaourt – установка и использование
- archlinux – сборка ядра
- pdnsd – локальный кэширующий dns сервер
- xf86-video-intel 2.6.1
Метки: archlinux, Linux, Soft, Безопасность

Вы можете оставить свой комментарий...