Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Konstantin Balabin                   2:5020/400     07 Jun 2003  14:42:46
 To : Vasya Poluden
 Subject : Re: poweroff reboot
 -------------------------------------------------------------------------------- 
 
 Vasya Poluden wrote to Vladimir Bormotov:
 
 VP>>>>> как настроить чтобё user мог использовать командёё poweroff
 VP>>>>> и reboot
 VN>>>> sudo
 VP>>>  как?  покажи пример пожалуйста, я не знаю как с sudo работать
 VB>>  man sudo
 VP> я просил пример
 
 Пример:
   sudo poweroff
   sudo reboot
 Документацию читают от 30$ за секцию. В man sudo (сюрприз!) есть
 и примеры. Если лень вчитываться в документацию на английском,
 существуют и русские маны, например на opennet.ru
 Интересен не столько sudo, сколько содержимое sudoers.
 
 Тебя обманули, в этой эхе думать за тебя бесплатно не будут.
 
 http://www.opennet.ru/man.shtml?topic=sudo&category=8&russian=0
    The OpenNET Project 
 
 HАЗВАHИЕ
 
    sudo - выполнить команду от имени другого пользователя
 
 СИHТАКСИС
 
    sudo -V | -h | -l | -L | -v | -k | -K | -s | [ -H ] [ -P ] [ -S ] [
    -b ] | [ -p запрос ] [ -c класс|- ] [ -a тип_аутентификации ] [ -u
    имя_пользователя/#uid ] команда
 
 ОПИСАHИЕ
 
    sudo позволяет разрешенному пользователю выполнять команду как
    суперпользователь или другой пользователь, как определено в файле
    sudoers. Реальный и эффективный uid и gid при этом устанавливаются
    так, чтобы соответствовать таковым целевого пользователя, как
    определено в файле passwd (также инициализируется вектор группы,
    если целевой пользователь - не root). По умолчанию sudo требует, что
    бы пользователи аутентифицировали себя при помощи пароля (ЗАПОМHИТЕ:
    это пароль пользователя, не пароль root). Как только пользователь
    аутентифицировал себя происходит обновление временной метки и
    пользователь может использовать sudo некоторый период времени без
    пароля (по умолчанию пять минут, если в sudoers не указано другое).
 
    sudo определяет, кто является авторизованным пользователем сверяясь
    с файлом /etc/sudoers и всеми файлами с подходящим названием в
    каталоге /etc/sudo.d. Указав для sudo флаг -v пользователь может
    обновить временную метку без выполнения команды. Строка приглашения
    для ввода пароля так же устаревает, если пользователь не введёт
    пароль в течение 5 минут (если в sudoers не переопределено другое).
 
    Если не указанный в файле sudoers пользователь попытается выполнить
    при помощи sudo команду, то уполномоченному пользователю будет
    отправлено почтовое сообщение, как определено во время конфигурации
    или в файле sudoers (по умолчанию это root). Обратите внимание, что
    сообщение не будет отправлено, если неавторизованный пользователь
    пытается выполнить sudo с флагами -l или -v. Это позволяет
    пользователям определить - разрешено им использовать sudo или нет.
 
    sudo может регистрировать оба типа попыток, успешные и не удачные,
    (так же как и ошибки) при помощи системного журнала регистрации
    событий syslog(3), собственного журнала, или с использованием обоих
    вариантов. По умолчанию sudo регистрирует события через syslog(3),
    но это можно изменить во время конфигурации или в файле sudoers.
 
 ПАРАМЕТРЫ
 
    sudo акцептирует следующие параметры командной строки:
    "-V"
           Параметр -V (версия) заставляет sudo показать номер версии и
           выйти. Если пользователем инициировавшим вызов является root,
           то параметр -V отобразит список значений по умолчанию с
           которыми был собран sudo, в том числе локальные сетевые
           адреса машины.
    "-l"
           Параметр -l (список) перечислит дозволенные (и запрещенные)
           команды для пользователя на данной машине.
    "-L"
           Параметр -L (список по умолчанию) отобразит список
           параметров, которые могут быть установлены в строке Defaults,
           с кратким описанием каждого. Этот параметр полезен в
           сочетании с grep(1).
    "-h"
           Параметр -h (помощь) заставит sudo показать справку об
           использовании и выйти.
    "-v"
           Если указан параметр -v (идентифицировать), sudo обновит
           временную метку пользователя, предложив пользователю, если
           необходимо, указать пароль. Это продлит срок действия
           прежнего пароля sudo на следующие 5 минут (или на тот срок,
           который указан в sudoers), но не требует при этом выполнения
           какой-либо команды.
    "-k"
           Указание для sudo параметра -k (уничтожить) лишает законной
           силы временную метку пользователя, устанавливая время на
           начало века. При следующем выполнении sudo потребуется
           указать пароль. Эта операция не требует указания пароля и
           была добавлена, чтобы позволить пользователю аннулировать
           права sudo из файла .logout.
    "-K"
           Параметр -K (уничтожить наверняка) для sudo полностью удаляет
           временную метку пользователя. Этот параметр тоже не требует
           указания пароля.
    "-b"
           Параметр -b (фон) сообщает sudo выполнить заданную команду в
           фоновом режиме. Если вы используете параметр -b, то вы не
           сможете использовать контроль над запущенными процессами
           оболочки для манипуляций командами.
    "-p"
           Параметр -p (приглашение) позволяет переопределить внешний
           вид приглашения в систему по умолчанию. Если вид приглашения
           содержит управляющий символ %u, то %u будет заменен учетным
           именем пользователя. Аналогично %h может быть заменено на имя
           компьютера.
    "-c"
           Параметр -c (класс) заставляет sudo выполнить определенную
           команду с ограничением ресурсов, свойственным указанному
           классу пользователя. Параметр класс может быть либо именем
           класса, указанным в /etc/login.conf, или знаком -. Указание
           класс с помощью - означает, что команда будет выполнена с
           учетом прав того пользователя, от имени которого эта команда
           выполняется. Если параметр класс указывает на текущий класс
           пользователя, то команда должна быть выполнена от имени root,
           или команда sudo должна выполняться из оболочки
           суперпользователя (root). Этот параметр доступен с
           BSD-классом входа в систему, где sudo был сконфигурирован с
           параметром --with-logincap.
    "-а"
           Параметр -а (тип аутентификации) принуждает sudo при
           идентификации пользователя использовать указанный тип
           аутентификации, в соответствии с /etc/login.conf. Системный
           администратор может указать перечень подходящих для sudo
           методов аутентификации путём добавления в /etc/login.conf
           записи "auth-sudo". Этот параметр доступен только на системах
           поддерживающих BSD-тип аутентификации, если sudo был
           сконфигурирован с параметром --with-bsdauth.
    "-u"
           Параметр -u (пользователь) вызывает sudo для выполнения
           указанной команды от имени пользователя, отличного от root.
           Для указания uid вместо имени пользователя, используйте #uid.
    "-s"
           Параметр -s (оболочка) запускает командный интерпретатор,
           определенный переменной окружения SHELL, или оболочку
           указанную в passwd(5).
    "-H"
           Параметр -H (HOME) устанавливает значение переменной
           окружения HOME к домашнему каталогу целевого пользователя (по
           умолчанию root), определенную в passwd(5). По умолчанию sudo
           не изменяет HOME.
    "-Р"
           Параметр -P (сохранить вектор группы) сообщает sudo о
           необходимости сбережения вектора группы пользователя в
           неизменном виде. По умолчанию sudo инициализирует групповой
           вектор к списку групп, к которым принадлежит целевой
           пользователь. Однако, реальный и эффективный идентификаторы
           групп назначаются соответствующими целевому пользователю.
    "-S"
           Параметр -S (stdin) заставляет sudo считывать пароль со
           стандартного ввода вместо терминала.
    "--"
           Флаг -- обозначает, что sudo должен прекратить выполнение
           параметров командной строки. Это полезно в сочетании с флагом
           -s.
 КОДЫ ВОЗВРАТА
 
    В случае успешного выполнения возвращаемым значением sudo будет
    возвращаемое значение выполненной программы.
 
    В противном случае sudo завершает работу со значением 1, если
    обнаруживает проблемы в конфигурации/правах доступа или sudo не в
    состоянии выполнить заданную команду. В последнем случае сообщение
    об ошибке будет выведено в stderr. Если sudo не в состоянии получить
    stat(2) на одну или болееe запись в пользовательском PATH, то
    сообщение об ошибке будет выведено на stderr. (Если каталог не
    существует или если это на самом деле не каталог, запись о нем будет
    игнорирована и об ошибке сообщено не будет.) При нормальных
    обстоятельствах этого не должно произойти. Hаиболее частая причина
    возврата от stat(2) "permission denied", если вы запустили
    автоматическое монтирование дисков и один из каталогов в вашем PATH
    находится на машине, которая в настоящий момент не доступна.
 
 ПРИМЕЧАHИЯ ПО БЕЗОПАСHОСТИ
 
    sudo пытается быть безопасной при выполнении внешних команд.
    Переменные, контролирующие выполнение динамической загрузки и
    связей, могут быть использованы для уничтожения программ выполняемых
    sudo. Для борьбы с этим, переменные окружения LD_*, _RLD_*,
    SHLIB_PATH (только HP-UX) и LIBPATH (только AIX), изъяты из
    окружения доступного для команд выполняемых всеми. sudo также
    изымает переменные IFS, ENV, BASH_ENV, KRB_CONF, KRB5_CONFIG,
    LOCALDOMAIN, RES_OPTIONS, HOSTALIASES, NLSPATH, PATH_LOCALE,
    TERMINFO, TERMINFO_DIRS И TERMPATH, поскольку они тоже могут
    представлять угрозу. Если установлена переменная TERMPATH и является
    именем пути, то она также будет игнорирована. Дополнительно, если
    переменные LC_* или LANGUAGE содержат символы / или %, то они будут
    игнорированы. Если sudo було собрано с поддержкой SecurID, то
    переменные VAR_ACE, USR_ACE и DLC_ACE будут также очищены. Список
    переменных, подлежащих очистке со стороны sudo, может быть
    распечатан в вывод команды sudo -V, выполненной от имени
    суперпользователя (root).
 
    Во избежание подмены команд sudo проверяет "." и "" (оба указывают
    на текущий каталог), когда осуществляет поиск команды в
    пользовательском PATH (если один из них есть в PATH) в последнюю
    очередь. Однако, обратите внимание, что фактическая переменная
    окружения PATH не модифицирована и передается программе, выполняемой
    sudo, в неизмененном виде.
 
    Из соображений безопасности, если ваша ОС поддерживает разделяемые
    библиотеки и не отключает пользовательский путь поиска для программ
    использующих setuid (чаще всего), вы должны использовать параметры
    линковщика которые исключают такую возможность или линкуют sudo
    статически.
 
    sudo проверяет принадлежность каталога содержащего временные метки
    (по умолчанию это /var/run/sudo) и игнорирует каталоги с содержимым
    не принадлежащим root и доступным на запись только для root. В
    системах, позволяющих не привилегированным пользователям передавать
    права на файлы через chown(2), если временная метка находится в
    каталоге доступном для записи для всех (т.е.: /tmp), то возможна
    ситуация, когда пользователь создаст каталог каталог содержащий
    временную метку прежде, чем будет выполнено sudo. Однако, так как
    sudo проверяет права владения и режим доступа каталога и его
    содержимого, то вред может быть нанесён только "скрытыми" файлами,
    помещенными в каталог с временными метками. Это вряд ли случится в
    том случае, если владельцем каталогов с временными метками является
    суперпользователь и они не доступны для других пользователей для
    записи в них. Что бы обойти эту проблему вы можете использовать
    каталог для хранения временных меток (например /var/adm/sudo),
    никому не доступный для записи, или создать /var/run/sudo, с
    соответствующими владельцем (root) и правами доступа (0700) в
    системных файлах запуска.
 
    sudo игнорирует временные метки с датой создания в далеком будущем.
    Временные метки с датой большей, чем настоящий момент времени + 2 *
    TIMEOUT будут игнорироваться, регистрироваться sudo и
    уполномоченному пользователю будет послано предупреждение. Это
    сделано во избежание создания временных меток с поддельными датами,
    которые позволят отдавать файлы пользователям.
 
    Обратите внимание, что sudo регистрирует только явно выполненные
    команды. Если пользователь выполняет такую команду как sudo su или
    sudo sh, то команды выполненные из этих оболочек не будут
    запротоколированы и при этом их не затронет управление доступом
    sudo. Тоже-самое верно по отношению к командам, допускающим
    использование управляющих символов (включая большинство редакторов).
    В связи с этим должна быть проявлена осторожность при предоставление
    пользователям доступа к выполнению команд посредством sudo,
    во-избежание нечаянного предоставления пользователю доступа к
    оболочке суперпользователя (root).
 
 EXAMPLES
 
    Внимание: следующие примеры содержат работающие записи sudoers(5).
 
    Для получения списка файлов в каталоге закрытом для чтения:
 
     sudo ls /usr/local/protected
 
    Для получения списка файлов домашнего каталога пользователя yazza на
    машине, где файловая система, содержащая ~yazza не позиционируется
    как корневая:
 
     sudo -u yazza ls ~yazza
 
    Для редактирования файла index.html как пользователь www:
 
     sudo -u www vi ~www/htdocs/index.html
 
    Для выключения компьютера:
 
     sudo shutdown -r +15 "quick reboot"
 
    Для создания списка занимаемого каталогами места в партиции /home.
    Обратите внимание, что это выполняется в под-оболочке (sub-shell)
    для выполнения cd и переадресации файла.
 
     sudo sh -c "cd /home ; du -s * | sort -rn > USAGE"
 ПЕРЕМЕHHЫЕ
 
    sudo использует следующие системные переменные:
 
    PATH Установленную в нормальное значение, если установлен
    SECURE_PATH. SHELL Используется для указания оболочки для запуска с
    параметром -s. USER Устанавливается к целевому пользователю (root,
    если параметром -u не определено другое). HOME В варианте -s или -H
    (или если sudo было сконфигурировано с параметром
    --enable-shell-sets-home) указывает на домашний каталог целевого
    пользователя.
    SUDO_PROMPT Используется как заданная по умолчанию подсказка пароля.
    SUDO_COMMAND Установлено на команды, выполняемые sudo. SUDO_USER
    Установлено на вход в систему пользователя, которому разрешено
                           вызывать sudo. SUDO_UID Установлено на uid
    пользователя, которому разрешено вызывать sudo. SUDO_GID Установлено
    на gid пользователя, кто вызвал sudo. SUDO_PS1 Если установлено, PS1
    будет установлен на это значение.
 
 ФАЙЛЫ
 
    /etc/sudoers /etc/sudo.d/* Описание того, кто и какие команды может
    выполнять /var/run/sudo Каталог содержащий временные метки
 
 АВТОРЫ
 
    Многие люди годами работали над sudo. Эта версия содержит код
    написанного преде всего:
 
           Todd Miller
           Chris Jepeway
 
    Краткую историю sudo смотри в файле HISTORY в дистрибутиве или в
    интернете по адресу http://www.sudo.ws/sudo/history.html.
 
    Александр Блохин <sass@altlinux.ru> - перевод на русский язык.
 
 ОШИБКИ
 
    Если вам кажется, что вы нашли ошибку в sudo, то отправьте рапорт об
    ошибке по адресу: http://www.courtesan.com/sudo/bugs/
 
 ЛИЦЕHЗИОHHОЕ СОГЛАШЕHИЕ
 
    Sudo поставляется ``КАК ЕСТЬ' и любые явные или неявные гарантии,
    включая, но не ограничиваясь неявными гарантиями, коммерческой
    ценности и пригодности для конкретной цели отрицаются. Подробности
    смотри в файле LICENSE, поставляемом вместе с sudo.
 
 ПРЕДОСТЕРЕЖЕHИЕ
 
    Hе существует никакого простого способа предотвратить захват
    пользователем оболочки с правами суперпользователя (root), если он
    имеет доступ к командам оболочки.
 
    Если пользователь имеет sudo ALL, то ничто не остановит его от
    создании собственной программы, которая даст ему оболочку
    привилегированного пользователя (root), не смотря ни на какие
    элементы ! в спецификации пользователя.
 
    Выполнение сценариев оболочки через sudo может вызвать те же самые
    ошибки ядра, которые делают сценарии оболочки со сменой
    идентификатора пользователя опасными на некоторых операционных
    системах (если ваша ОС поддерживает каталог/dev/fd/, сценарии
    оболочки со сменой идентификатора пользователя в целом безопасны).
 
 СМ. ТАКЖЕ
 
    stat(2), login_cap(3), sudoers(5), passwd(5), visudo(8), grep(1),
    su(1).
 -- 
   Apfelmaennchen 
 AUS IS in: 23 Tagen
 --- ifmail v.2.15dev5
  * Origin: nest of KPbIC (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 poweroff reboot   Vasya Poluden   05 Jun 2003 02:25:48 
 poweroff reboot   Igor Baluev   05 Jun 2003 15:04:40 
 Re: poweroff reboot   Valentin Nechayev   05 Jun 2003 14:44:32 
 poweroff reboot   Vasya Poluden   05 Jun 2003 23:43:33 
 Re: poweroff reboot   Vladimir Bormotov   06 Jun 2003 22:43:52 
 poweroff reboot   Vasya Poluden   06 Jun 2003 23:20:46 
 Re: poweroff reboot   Vladimir Bormotov   07 Jun 2003 13:02:28 
 Re: poweroff reboot   Alexey Shaposhnikov   07 Jun 2003 14:50:03 
 Re: poweroff reboot   Konstantin Balabin   07 Jun 2003 14:42:46 
 Re: poweroff reboot   Alexander Drozdov   08 Jun 2003 00:49:32 
 poweroff reboot   Vasya Poluden   07 Jun 2003 23:43:21 
 poweroff reboot   Valery Shishkov   09 Jun 2003 14:34:19 
 Re: poweroff reboot   Igor S.Kozhukhov   06 Jun 2003 13:38:33 
 Re: poweroff reboot   Alexander Drozdov   06 Jun 2003 23:44:28 
Архивное /ru.linux/45005c2fea25.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional