Различия между версиями 4 и 5
Версия 4 от 2008-08-02 21:30:16
Размер: 9240
Редактор: MaximByshevskiKonopko
Комментарий:
Версия 5 от 2008-08-02 21:32:10
Размер: 7159
Редактор: MaximByshevskiKonopko
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 3: Строка 3:
Что ещё нужно системному администратору --- совершать действия от лица суперпользвателя. Нехорошо заходить в программе login от лица root. Обычно это требуется, если никаких других вариантов нет. А в принципе рекомендуется захдить в пользователя, а потом получать рутовые привилегии. Как это делать: мы знаем, что у нас есть такая штука как setuid, и, видимо, надо использовать какую-то прграмму, котрая будет сетуидная, запуская её, она будет от лица рута, и дальше уже сможет дать пользователю права. Таких команд две: su и sudo. Что ещё нужно системному администратору --- совершать действия от лица суперпользвателя. Нехорошо заходить в программе login от лица root. Обычно это требуется, если никаких других вариантов нет. А в принципе рекомендуется заходить в пользователя, а потом получать рутовые привилегии. Как это делать: мы знаем, что у нас есть такая штука как setuid, и, видимо, надо использовать какую-то программу, которая будет сетуидная, запуская её, она будет от лица рута, и дальше уже сможет дать пользователю права. Таких команд две: su и sudo.
Строка 7: Строка 7:
Первая, switch user, позволяет получить права любого пользователя, введя его пароль. На su существует control, который позволяет делать четыре вещи: restricted --- только рут может делать su, wheelonly --- только члены группы wheel, wheel --- запускать могут все, только члены группы wheel могут приобретать рута, и public --- все могут запускать для всего. Команда su позволяет всего лишь выполнить шелл, запущенный от указанного пользователя, или одну команду от оного. ALT-specific: команда su без параметров даёт только права суперпользователя, но окружение остаётся тем же. По идее это несекьюрная штука, поскольку можно модифицировать окружение таким образом, что выполнив su, из под рута что-нибудь не то сделаете. Чтбы при выполнении команды su получить окружение пользователя (войти в login shell пользователя), над делать su -. Первая, switch user, позволяет получить права любого пользователя, введя его пароль. На su существует control, который позволяет делать четыре вещи: restricted --- только рут может делать su, wheel --- только члены группы wheel, wheelonly --- запускать могут все, только члены группы wheel могут приобретать рута, и public --- все могут запускать для всего. Команда su позволяет всего лишь выполнить шелл, запущенный от указанного пользователя, или одну команду от оного. ALT-specific: команда su без параметров даёт только права суперпользователя, но окружение остаётся тем же. По идее это несекьюрная штука, поскольку можно модифицировать окружение таким образом, что выполнив su, из под рута что-нибудь не то сделаете. Чтобы при выполнении команды su получить окружение пользователя (войти в login shell пользователя), над делать su -.
Строка 11: Строка 11:
Когда пользователь регистрируется в системе, первым делом запускается shell, который прописан в passwd. Когда это было в терминале, это было логично. Когда пошло поветрие делать графический интерфейс в качестве основного, и регистрирование в системе тоже графическое, то всё равн запускатеся shell, который, к примеру, выполняет скрипты инициализации графической сессии пользователя, и дальше всё остальное. Этот шелл отличается от других шеллов, запущенных пользователем, даже именем в списке прцессов (к нему приписывается `-` в начале).

## Как поменять имя прграммы --- в системном вызове exec помимо имени прграммы, идёт argv, и можно поменять argv[0].
## Таки отступление. Чай не на сях кодим.
Когда пользователь регистрируется в системе, первым делом запускается shell, который прописан в passwd. Когда это было в терминале, это было логично. Когда пошло поветрие делать графический интерфейс в качестве основного, и регистрирование в системе тоже графическое, то всё равно запускатеся shell, который, к примеру, выполняет скрипты инициализации графической сессии пользователя, и дальше всё остальное. Этот шелл отличается от других шеллов, запущенных пользователем, даже именем в списке процессов (к нему приписывается `-` в начале).
Строка 23: Строка 20:

## Дима Левин очень не любит sudo, его не исп., для исп. заводит спец. польз. для исп. sudo, и ещё одного, который делает только то, что надо. Просто прблема в том, чтом можно вероятн что-то хитрое сделать.

## Лектор исп. sudo в реальной жизни, чтобы сделать гибкие настр. сети а ноутбуке. Есть нутбук, который работает дмА, в дороге, через gprs. Ва льте это делается предв. настр. профилей, осталось только дать обычному польз. service network restartwith.
Строка 40: Строка 33:
## %group --- пользователи-члены группы.

## Когда делается sudo, то перетаскиваются перем. DISPLAY и XAUTHORITY, как прописано в /tc/sudoers

## Ещё одним пололж. свойством sudo явл. то, что исп. пароль польз.

## Если вы говорите sudo su - , то получаете не только норм. окружение, но и живые DISPLAY и XAUTHORITY.

## Лектор забыл сказать пр su, пчему у альта всё по стсандарту, а у стальных не по стандарту. У людей, которые привыкли делать su в убунте, дебиане или федоре, сраду после этог делают ifconfig, ip и так далее. Если же так сказать в альте, то но скажет file not found, потому что /sbin и /usr/sbin нет в окружении, и очень пугаются.
Строка 56: Строка 40:
|| 19 || 1 || 1 || 1 || || 1 || MaximByshevskiKonopko, ОльгаТочилкина, MaximByshevskiKonopko || || || || 20 || 1 || 1 || 1 || || 1 || MaximByshevskiKonopko, ОльгаТочилкина, 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, ОльгаТочилкина, MaximByshevskiKonopko


CategoryLectures CategoryPspo CategoryMpgu CategoryUneex

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