русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Использование механизма SUDO


Дата добавления: 2014-11-28; просмотров: 1466; Нарушение авторских прав


 

В ОС Linux пользователи бесправны, и любое ответственное действие требует полномочий администратора. Администратор по определению должен быть в системе один (операционная система не позволяет обычным путем создать еще одну учетную запись с UID = 0), а обязанностей у него чрезмерно много. Достаточно часто у администратора возникает потребность доверить избранным пользователям выполнение каких-либо ответственных операций. Но для этого администратор должен доверить другим святая святых – свой пароль. Чтобы избежать таких ситуаций, в ОС UNIX был разработан своеобразный механизм, позволяющий выборочно предоставлять определенным пользователям права на запуск ответственных команд. Этот механизм реализован в утилите sudo(superuser do) и конфигурационном файле /etc/sudoers, который должен быть недоступным для всех, кроме администратора.

В качестве параметра команды sudo вводится команда, которую надо исполнить. Обычно, если это явно не определено в файле конфигурации, от пользователя потребуют ввести его собственный пароль, но только один раз в течение терминального сеанса, в последующем запрос пароля производиться не будет. При этом правильно написанная команда будет исполнена оболочкой с правами привилегированного пользователя (администратора).

Названия команд составляются администратором и записываются в файл /etc/sudoers в виде специальных строк. Строка должна связывать конкретного пользователя, работающего на определенном сетевом узле или локальном компьютере, с ответственными командами. Запись в строке должна содержать ответы на вопросы:

· кто? (зарегистрированное имя пользователя или группы);

· где? (доменное имя или IP-адрес компьютера);

· от чьего имени? (имя привилегированного пользователя);

· команды (полный перечень разрешенных команд, разделенных запятыми).



Приведем образцы записей в файле /etc/sudoers :

petrov ALL=/bin/shutdown, /bin/halt

– пользователю petrov на всех компьютерах, работающих под управлением данной операционной системы, можно принудительно завершать работу системы и всех пользователей;

john localhost=/usr/sbin/lpc, /usr/sbin/lprm

– пользователь john на своем компьютере имеет право распечатки документов;

braun 192.168.1.1=/bin/useradd,/bin/passwd,/bin/usermod

– пользователь braun на компьютере, который идентифицируется IP-адресом, имеет право создавать и модифицировать учетные записи пользователей, а также назначать им первичные пароли. Здесь допущен очевидный перебор в предоставлении прав, поскольку пользователь braun может сменить пароль самому администратору;

%alfa ALL=/bin/mount /dev/cdrom, umount /dev/cdrom

– пользователям группы alfa на всех компьютерах сети разрешено монтировать и размонтировать компакт-диски. Кстати, аналогичное право пользователям можно предоставить с помощью записи в конфигурационном файле /etc/fstab.

В файле /etc/sudoers могут быть определены псевдонимы (алиасы):

 

· для пользователей:

User_Alias WEBMASTERS=sidorov,sazonov,bormotov

· для сетевых узлов:

Host_Alias WEBSERVERS=www.web_dis.com, 192.168.3.14

· для команд:

Cmnd_Alias APACHE=/usr/local/apache/bin/apachectl

C помощью псевдонимов разрешающая запись приобретает более компактный вид:

WEBMASTERS WEBSERVERS=APACHE

Пользователь, наделенный временными полномочиями, должен знать, какую команду ему разрешено выполнять с правами администратора и как эта команда пишется. Команды, перечисленные в файле /etc/sudoers, должны приводиться с полными путевыми именами, чтобы пользователи были лишены возможности запускать свои экземпляры утилит или сценариев от имени администратора.

Механизм избирательного предоставления полномочий предусматривает исполнение команд без ввода паролей. Для этого администратор в соответствующей строке между именем хоста и именем команды должен указать ключевое слово NOPASSWD:

ivanov 192.168.4.15=NOPASSWD: /bin/mount /dev/fd0

Вызов утилиты sudo по умолчанию протоколируется системой в одном из журналов аудита. Выяснить, в каком именно журнале, можно с помощью команды lsof, предоставляющей информацию об открытых файлах.



<== предыдущая лекция | следующая лекция ==>
Chown mironova /home/semaforkin/private | Lsof –c sudo


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.431 сек.