Различия между версиями 8 и 9
Версия 8 от 2008-08-11 15:26:06
Размер: 7651
Редактор: Allena
Комментарий:
Версия 9 от 2008-08-12 03:30:23
Размер: 7317
Редактор: Allena
Комментарий: 50%
Удаления помечены так. Добавления помечены так.
Строка 4: Строка 4:
Иногда системному администратору необходимо совершать действия от лица суперпользователя. Заходить под учетной записью root в программе login не рекомендуется, обычно этот метод используется в крайних случаях, когда другие варианты невозможны. Предпочтительней получать привелигии суперпользователя во время сеанса работы с аккаунтом обычного пользователя. На системном уровне подобная схема реализуется с помощью механизма setuid. Команд, способных предоставить обычному пользователю права суперпользователя, две --- su и sudo. Иногда системному администратору необходимо совершать действия от лица суперпользователя. Заходить под учетной записью root в программе login не рекомендуется, обычно этот метод используется в крайних случаях, когда другие варианты невозможны. Предпочтительней получать привелигии суперпользователя во время сеанса работы из под учетной записи обычного пользователя. На системном уровне подобная схема реализуется с помощью механизма setuid. Команд, способных предоставить обычному пользователю права суперпользователя, две --- su и sudo.
Строка 21: Строка 21:
Команда {{{sudo}}} обладает более широкими возможностями. Она позволяет уточнять, какие категории пользователей могут пользоваться аккаунтами каких пользователей, а также ограничивать список команд, которые могут использоваться таким образом. Например, в процессе лекций, {{{sudo}}} использовлась для разрешения монтирования cdrom.
По умолчанию {{{sudo}}} сохраняет окружение пользователя, хотя
sudo по умолчанию сохраняет окру
жение пользователя (в принципе, работу с окружением при исполнении команды через sudo можно настроить), тем самым становится возможно запускать X-приложения от root.
Команда {{{sudo}}} обладает более широкими возможностями, чем {{{su}}}. Она позволяет уточнять, какие категории пользователей могут пользоваться учетными записями каких пользователей, а также ограничивать список команд, которые могут исполняться таким образом. Например, в процессе лекций, {{{sudo}}} использовлась для разрешения монтирования cdrom.  ##это так про cdrom?
По умолчанию {{{sudo}}} сохраняет окружение пользователя, но это поведение можно изменить (таким образом можно реализовать запуск X-приложений от учетной записи root).
Строка 27: Строка 27:
Конфигурационный файл для программы sudo. Важно помнить, что редактировать его необходимо при помощи команды visudo, которая, будучи запущена без каких-либо модификаций, откроет этот файл в редакторе vi. Пользователи, не знакомые с vi, могут при запуске этой команды указать желаемый редактор в переменной окружения EDITOR. /etc/sudoers --- конфигурационный файл для {{{sudo}}}. Редактируется этот файл командой {{{visudo}}}. Будучи запущенной без каких-либо предварительных действий, эта команда откроет {{{/etc/sudoers}}} в редакторе {{{vi}}}. Для изменения используемого редактора необходимо указать желаемый редактор в переменной окружения EDITOR.
Строка 29: Строка 29:
В этом файле специальным образом задаются пользователи, группы пользователей, и те команды (с соответствующими условиями) которые они могут выполнять. Синтаксис этого файла весьма подробно описан в man sudoers (один недостаток --- он там описан через EBNF, которые там тоже описаны, что слегка удручает неподготовленного читателя). В этом файле задаются пользователи, группы пользователей, команды, которые они могут выполнять, и прочие ограничения. Синтаксис {{{/etc/sudoers}}} подробно описан при помощи EBNF в man sudoers.
Строка 31: Строка 31:
Простой пример, который используется довольно часто --- дать возможность пользователям некоторой группы (администраторам) выполнять произвольные команды (вводя при этом для подтверждения собственный пароль): Рассмотрим простой, однако часто встречающийся на практике пример --- как дать возможность пользователям, входящим в некоторую группу(например, администраторам), выполнять произвольные команды, указывая при этом только собственный пароль:
Строка 35: Строка 36:

Здесь
% обозначает, что admin --- идентификатор группы, а не пользователя.
Символ `%` означает, что admin --- название группы, а не имя пользователя.
Строка 44: Строка 44:
|| 30 || 1 || 1 || 1 || || 1 || MaximByshevskiKonopko, [[Allena]], MaximByshevskiKonopko || || || || 50 || 1 || 1 || 1 || || 1 || MaximByshevskiKonopko, [[Allena]], MaximByshevskiKonopko || || ||

Использование 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 обладает более широкими возможностями, чем su. Она позволяет уточнять, какие категории пользователей могут пользоваться учетными записями каких пользователей, а также ограничивать список команд, которые могут исполняться таким образом. Например, в процессе лекций, sudo использовлась для разрешения монтирования cdrom.

По умолчанию sudo сохраняет окружение пользователя, но это поведение можно изменить (таким образом можно реализовать запуск X-приложений от учетной записи root).

/etc/sudoers

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

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

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

%admin ALL=(ALL) ALL

Символ % означает, что admin --- название группы, а не имя пользователя.


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

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

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

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

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

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

Level

Maintainer

Start date

End date

50

1

1

1

1

MaximByshevskiKonopko, Allena, MaximByshevskiKonopko


CategoryLectures CategoryPspo CategoryMpgu CategoryUneex

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