Различия между версиями 5 и 6
Версия 5 от 2008-08-02 21:32:10
Размер: 7159
Редактор: MaximByshevskiKonopko
Комментарий:
Версия 6 от 2008-08-08 04:47:30
Размер: 7141
Редактор: eSyr
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 40: Строка 40:
|| 20 || 1 || 1 || 1 || || 1 || MaximByshevskiKonopko, ОльгаТочилкина, MaximByshevskiKonopko || || || || 20 || 1 || 1 || 1 || || 1 || MaximByshevskiKonopko, [[Allena]], MaximByshevskiKonopko || || ||

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

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

su

Первая, switch user, позволяет получить права любого пользователя, введя его пароль. На su существует control, который позволяет делать четыре вещи: restricted --- только рут может делать su, wheel --- только члены группы wheel, wheelonly --- запускать могут все, только члены группы wheel могут приобретать рута, и public --- все могут запускать для всего. Команда su позволяет всего лишь выполнить шелл, запущенный от указанного пользователя, или одну команду от оного. ALT-specific: команда su без параметров даёт только права суперпользователя, но окружение остаётся тем же. По идее это несекьюрная штука, поскольку можно модифицировать окружение таким образом, что выполнив su, из под рута что-нибудь не то сделаете. Чтобы при выполнении команды su получить окружение пользователя (войти в login shell пользователя), над делать su -.

Login shell

Когда пользователь регистрируется в системе, первым делом запускается shell, который прописан в passwd. Когда это было в терминале, это было логично. Когда пошло поветрие делать графический интерфейс в качестве основного, и регистрирование в системе тоже графическое, то всё равно запускатеся shell, который, к примеру, выполняет скрипты инициализации графической сессии пользователя, и дальше всё остальное. Этот шелл отличается от других шеллов, запущенных пользователем, даже именем в списке процессов (к нему приписывается - в начале).

Login shell замечает, что он login, и выполняет несколько больше файлов.

sudo

sudo намного хитрее. Она позволяет выполнять заданные команды от лица заданных пользователей заданным категориям пользователей или пользователям Лектор, например, пользуется командой sudo для разрешения монтирования cdrom.

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

20

1

1

1

1

MaximByshevskiKonopko, Allena, MaximByshevskiKonopko


CategoryLectures CategoryPspo CategoryMpgu CategoryUneex

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