@ Карта сайта News Автора!

Bog BOS: sudo: выполнение программ от чужого имени

Последние изменения:
2015.11.18: hard: обновлена статья про ИБП и их мониторинг

Последнее изменение файла: 2007.06.22
Скопировано с www.bog.pp.ru: 2016.08.27

Bog BOS: sudo: выполнение программ от чужого имени

Пакет sudo позволяет системному администратору давать права определенным пользователям (или группам) на исполнение конкретных программ с правами другого пользователя (и записывать эти действия в журнал). Возможна привязка списка допустимых команд к имени хоста, что позволяет использовать один файл настройки на нескольких хостах с различными полномочиями. Обычно требует аутентификации пользователя (например, ввода пароля). Позволяет избегать слишком частого ввода пароля (по умолчанию - 5 минут). Для борьбы с подменой динамических библиотек из окружения удаляются переменные типа LD_* и т.п., а также IFS, ENV, BASH_ENV, KRB_CONF, KRB5_CONFIG, LOCALDOMAIN, RES_OPTIONS, HOSTALIASES. Можно также удалять текущую директорию из PATH.

Текущая версия 1.6.8p12 (ноябрь 2005).

Лицензия - ISC-style (BSD-like).

Состоит из файла настройки /etc/sudoers, программы его редактирования visudo и клиентской программы sudo. В статье также описывается процедура установки из исходных текстов и ключи configure.

visudo

visudo позволяет осуществить безопасное редактирование sudoers, она проверяет файл на корректность после выхода из текстового редактора. Ключи:

Описание прав пользователей

В файле /etc/sudoers описываются права пользователей на выполнение команд с помощью sudo. Состоит из операторов трех типов: определение синонимов (Alias), переопределение конфигурационных параметров и описание прав пользователей. Если для одного пользователя подходит несколько описаний, то действует последнее. Комментарии начинаются с символа '#', если это не uid. Продолжение команды на следующей строке обозначается символом '\' в конце строки.

Синонимы (предопределен синоним ALL):

Имя может состоять из прописных латинских букв, цифр и подчеркивания. Предопределены синонимы 'ALL' для каждого типа. На одной строке может размещать несколько описаний синонимов, разделяя их символом ':'. netgroup - это NIS.

Пользователь может определяться (восклицательный знак перед именем означает отрицание):

Эффективный пользователь может определяться (восклицательный знак перед именем означает отрицание):

Хост может определяться (восклицательный знак перед именем означает отрицание; сетевая маска записывается в точечной записи или CIDR; при указании имени хоста можно использовать шаблоны в стиле shell, но лучше при этом использовать опцию fqdn; не стоит использовать имя localhost):

Команда может определяться (восклицательный знак перед именем означает отрицание; можно использовать шаблоны в стиле shell для имени файла и аргументов; необходимо защищать обратным слешом от интерпретации разборщика символы запятой, двоеточия, равенства и обратного слеша; пустой список аргументов обозначается как ""; полное имя каталога должно оканчиваться на "/", разрешает выполнить любую команду из данного каталога, но не из подкаталога):

Конфигурационные параметры можно переопределить для всех пользователей, для определенных пользователей, для определенных хостов, для команд, выполняемых от имени указанного пользователя:

Параметр задаётся в виде "имя = значение", "имя += значение", "имя -= значение", "имя" или "!имя" из следующего списка (необходимо использовать символы '"' и '\' в значениях при необходимости; += и -= добавляют и удаляют элементы списка):

Описание прав пользователей (списки через запятую, теги и имена целевых пользователей наследуются):
список-пользователей список-хостов = список-описаний-команд [: список-хостов = список-описаний-команд]

описание-команды ::= [ ( список-целевых-пользователей ) ] {тег:} команда

Теги: NOPASSWD (не запрашивать пароль текущего пользователя), PASSWD, NOEXEC, EXEC.

Команда sudo

Команда sudo выполняет указанную в качестве параметра команду от имени другого пользователя в зависимости от настроек. При отсутствии команды от имени другого пользователя выполняется редактор (-e) или командная оболочка (-s) или имитируется начальный вход в систему (-i). Устанавливается требуемый реальный идентификатор пользователя и группы, euid, egid и список групп. Может запрашиваться пароль текущего пользователя.

Ключи:

Установка 1.6.3p5 на RedHat 6.2

  1. скачать и разархивировать
  2. make distclean
  3. ./configure --sysconfdir=/usr/local/etc  --with-pam --with-logfac=authpriv --with-goodpri=info --with-badpri=err --with-ignore-dot --with-mailto=... --with-fqdn --disable-root-sudo
  4. отредактировать Makefile
  5. make
  6. make install
    1. /usr/local/bin/sudo
    2. /usr/local/bin/visudo
    3. /usr/local/etc/sudoers
    4. /usr/local/man
      1. man5/sudoers.5
      2. man8/sudo.8
      3. man8/visudo.8
  7. настройка (visudo, samples.sudoers)
  8. настройка syslog.conf (sample.syslog.conf)
  9. /etc/pam.d/sudo (в качестве образца: sample.pam или /etc/pam.d/su)

Ключи configure

Некоторые ключи configure:

Ссылки

@ Карта сайта News Автора!

Bog BOS: sudo: выполнение программ от чужого имени

Последние изменения:
2015.11.18: hard: обновлена статья про ИБП и их мониторинг

TopList
Оргсервис мытищи тут . . Замена микрофона iphone 4 здесь еще больше. . Как узнать кадастровый паспорт помещения.
Copyright © 1996-2015 Sergey E. Bogomolov; www.bog.pp.ru (КГБ знает все, даже то что у Вас на диске ;)