Документ взят из кэша поисковой машины. Адрес оригинального документа : http://uneex.mithril.cs.msu.su/PspoClasses/080731/02SuSudo
Дата изменения: Unknown
Дата индексирования: Sun Apr 10 04:48:40 2016
Кодировка: UTF-8
PspoClasses/080731/02SuSudo - UNИX

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

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

su

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

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

В ALTLinux команда su, выполненная без параметров, дает права суперпользователя, не меняя при этом окружения. Чтобы изменить окружение, то есть запустить login shell, необходимо использовать su -.

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

90

1

1

1

1

MaximByshevskiKonopko, Allena, MaximByshevskiKonopko


CategoryLectures CategoryPspo CategoryMpgu CategoryUneex

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