7355
Комментарий: .уес
|
7651
|
Удаления помечены так. | Добавления помечены так. |
Строка 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 |
|
|