Различия между версиями 7 и 8
Версия 7 от 2008-08-11 14:50:55
Размер: 7355
Редактор: Allena
Комментарий: .уес
Версия 8 от 2008-08-11 15:26:06
Размер: 7651
Редактор: Allena
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 21: Строка 21:

sudo намного хитрее. Она позволяет выполнять заданные команды от лица заданных пользователей заданным категориям пользователей или пользователям Лектор, например, пользуется командой sudo для разрешения монтирования cdrom.
Команда {{{sudo}}} обладает более широкими возможностями. Она позволяет уточнять, какие категории пользователей могут пользоваться аккаунтами каких пользователей, а также ограничивать список команд, которые могут использоваться таким образом. Например, в процессе лекций, {{{sudo}}} использовлась для разрешения монтирования cdrom.
По умолчанию {{{sudo}}} сохраняет окружение пользователя, хотя

Использование su и sudo

Иногда системному администратору необходимо совершать действия от лица суперпользователя. Заходить под учетной записью root в программе login не рекомендуется, обычно этот метод используется в крайних случаях, когда другие варианты невозможны. Предпочтительней получать привелигии суперпользователя во время сеанса работы с аккаунтом обычного пользователя. На системном уровне подобная схема реализуется с помощью механизма setuid. Команд, способных предоставить обычному пользователю права суперпользователя, две --- su и sudo.

su

Команда su (switch user) позволеят получить права любого пользователя, при условии, что вам известен пароль этого пользователя.

Существует 4 режима работы su:

  • restricted --- выполнять su имеет право только root;

  • wheel --- выполнять su имеют право толькопользователи, входящие в группу wheel;

  • wheelonly --- использовать su могут все, но лишь пользователи, входящие в группу wheel, могут получать с её помощью права суперпользователя;

  • public --- ограничения отсутствуют, любой пользователь может с использованием su получить права любого другого пользователя.

В AltLinux команда su, выполненная без параметров, дает права суперпользователя, не меняя при этом окружения. Чтобы изменить окружение, то есть запустить login shell соответствующего пользователя, необходимо использовать su -. Подробнее о том, что такое login shell и окружение, будет рассказано в следующем парграфе.

Login shell

Когда пользователь начинает сеанс работы с системой, в первую очередь запускается командный интерпетатор, указанный в /etc/passwd. Если для входа в систему и работы используется графический интерфейс в качестве основного, то кроме запуска самого командного интерпретатора, в нем выполняются скрипты инициализации графической сессии. Процесс этого командного интерпретатора отличается от процессов других шеллов, запущенных пользователем. Этот процесс называют login shell. В списке процессов к его имени в начале приписывается -. Login shell выполняет определенные дополнительные действия, например, устанавливает переменные окружения UID и GID.

sudo

Команда sudo обладает более широкими возможностями. Она позволяет уточнять, какие категории пользователей могут пользоваться аккаунтами каких пользователей, а также ограничивать список команд, которые могут использоваться таким образом. Например, в процессе лекций, sudo использовлась для разрешения монтирования cdrom. По умолчанию sudo сохраняет окружение пользователя, хотя sudo по умолчанию сохраняет окружение пользователя (в принципе, работу с окружением при исполнении команды через sudo можно настроить), тем самым становится возможно запускать X-приложения от root'а.

/etc/sudoers

Конфигурационный файл для программы sudo. Важно помнить, что редактировать его необходимо при помощи команды visudo, которая, будучи запущена без каких-либо модификаций, откроет этот файл в редакторе vi. Пользователи, не знакомые с vi, могут при запуске этой команды указать желаемый редактор в переменной окружения EDITOR.

В этом файле специальным образом задаются пользователи, группы пользователей, и те команды (с соответствующими условиями) которые они могут выполнять. Синтаксис этого файла весьма подробно описан в man sudoers (один недостаток --- он там описан через EBNF, которые там тоже описаны, что слегка удручает неподготовленного читателя).

Простой пример, который используется довольно часто --- дать возможность пользователям некоторой группы (администраторам) выполнять произвольные команды (вводя при этом для подтверждения собственный пароль):

%admin ALL=(ALL) ALL

Здесь % обозначает, что admin --- идентификатор группы, а не пользователя.


Сведения о ресурсах

Готовность (%)

Продолжительность (ак. ч.)

Подготовка (календ. ч.)

Полный текст (раб. д.)

Предварительные знания

Level

Maintainer

Start date

End date

30

1

1

1

1

MaximByshevskiKonopko, Allena, MaximByshevskiKonopko


CategoryLectures CategoryPspo CategoryMpgu CategoryUneex

PspoClasses/080731/02SuSudo (последним исправлял пользователь MaximByshevskiKonopko 2008-10-09 22:11:07)