По умолчанию в Debian GNU/Linux пакет sudo отсутствует. Установка sudo — это, по глубокому убеждению автора, перовое, что необходимо сделать после завершения установки базовой системы Debian GNU/Linux. У пользователей Ubuntu Linux sudo установлен по умолчанию, однако тоже может потребовать конфигурации.
I.Установка sudo из репозиториев Debian GNU/Linux
Выполните команду:
# aptitude install sudo
II.Базовая настройка sudo
Sudo — очень гибкий инструмент, позволяющий настроить права на выполнения административных действий для каждого пользователя отдельно. Например одному разрешить перезагружать какой-либо сервер, а другому дать возможность менять права доступа к файлам и папкам. Откройте файл /etc/sudoers. Это можно сделать либо отдав команду на открытие файла в вашем любимом текстовом редакторе, например так:
# nano /etc/sudoers
либо при помощи утилиты visudo:
# visudo
Последний способ откроет файл /etc/sudoers в редакторе пользователя по умолчанию, или если таковой не задан, то в редакторе vi. Преимущество данного способа в том, что при сохранении файл будет проверен на соответствие синтаксису.
Простейшая конфигурация выглядит так:
Defaults env_reset
# User privilege specification
root ALL=(ALL) ALL
user ALL=(ALL) ALL
Такая конфигурация дает пользователю user все права пользователя root при выполнении команды sudo. Defaults env_reset полностью запрещает все пользовательские переменные при исполнении команд от имени root. Это хорошо с точки зрения безопасности, однако иногда вызывает проблемы. Можно разрешить использование личных переменных какой-либо группе или отдельному пользователю, добавив подобную этой строку:
Defaults:%admin !env_reset
которая будет сохранять переменные окружения для всех пользователей группы admin, или:
Defaults:user env_keep=TZ
которая сохранит переменную TZ для пользователя user.
Если сервер администрируется группой людей, то имеет смысл поступить таким образом:
%admin ALL=(ALL) ALL
Как можно догадаться, эта запись дает доступ к root-привилегиям всем членам группы admin.
Можно настроить для каждого конкретного пользователя доступ только к конкретным командам. Например:
user ALL = /bin/mount, /bin/kill
даст пользователю user права на выполнение команд mount и kill с любой машины, а:
user2 mydebiancomp = /sbin/modprobe
даст пользователю user2 права на выполнение modprobe с машины mydebiancomp. Я думаю, что синтаксис понятен:
ползователь хост = команда
где команда прописывается с полным путем. Для группы все аналогично, только добавляется знак "%".
III.Продвинутые настройки sudo
Очень удобно при настройке sudo создать группу алиасов. Чтобы не вбивать постоянно повторяющиеся команды, пользователей и хосты, мы можем собрать их в группы и устанавливать правила для каждой группы алиасов. Например так:
Cmnd_Alias command_alias = command1, command2, ... // алиасы команд
Host_Alias host_alias = hostname1, hostname2, ... // алиасы хостов
User_Alias user_alias = user1, user2, ... // алиасы пользователей
Далее именами алиасов можно оперировать точно также, как командами, машинами и пользователями, задавая правила.
Исполнение команды от имени другого пользователя тоже возможно. Например при такой записи:
user ALL = (user2, user3) /usr/bin/ark
пользователь user может выполнить команду ark от имени user2 или user3, при помощи ключа u, например так:
$ sudo -u user2 ark
По умолчанию sudo запоминает пароли на 5 минут. Если вы этого не хотите, то для каждого пользователя, группы или алиаса можете установить отдельное правило, например при:
Defaults:user timestamp_timeout=0
пароль полдьзователя user не будет запоминаться вообще, а при:
Defaults:user timestamp_timeout=-1
будет запоминаться на все время аптайма.
Sudo без паролей также возможно. Для этого существует подобная конструкция:
user myubuntucomp = NOPASSWD: /bin/kill
которая даст возможность пользователю user с хоста myubuntucomp использовать kill без запроса пароля. Вставьте свои значения, например ALL вместо имени хоста и команды, чтобы пользователь user мог вообще никогда не вводить пароль для выполнения команд от имени root с любого хоста, однако помните, что это делает систему очень уязвимой.
Взял от сюда http://debiania.blogspot.com/2009/03/sudo-debian-gnulinux-ubuntu-linux.html
Комментариев нет:
Отправить комментарий