sudo._vypolnenie_komandy_ot_imeni_drugogo_polzovatelja
Содержание
sudo. Выполнение команды от имени другого пользователя
Установка sudo
Debian
По умолчанию в Debian не установлен sudo. Установка:
apt-get install sudo
Параметры
Опция | Значение |
---|---|
-k [command] | позволяет сбросить таймаут до момента, когда необходимо будет снова вводить пароль. Если указать команду, которая может потребовать ввода пароля, то таймаут будет сброшен конкретно для этой команды. |
-h | будет выведена небольшая подсказка на стандартный выход. |
-V | отобразиться версия sudo и плагинов. Если запустить от root, то будут выведены все настройки. |
-g group | позволяет задать от какой группы будет запущена команда. |
-H | задает директорию, которая будет указана в переменной окружения HOME. |
-i [command] | симулирует начальный вход. Если команда не указана, то будет произведен вход в систему, таким образом можно сделаться рутом вместо использования sudo su. |
-l[l] [command] | если команда не указана, то будет выведен список доступных команд для вызвавшего пользователя (или пользователя указанного с параметром -U). Если указана команда и она доступна, то будет выведен полный путь до команды и доступные параметры. Если команда не доступна, то sudo закроется со статусом 1. Если использовать параметр -ll или указать -l два раза, то будет использован более подробный формат вывода. |
-s [command] | будет запущена оболочка указанная в переменной окружения SHELL. Если указана команда, то она будет передана на исполнения запущенной оболочке. |
-U user | совместно с параметром -l позволяет отобразить привилегии определенного пользователя. Доступ спискам привилегий по умолчанию есть у root и пользователей со всеми привилегиями (ALL). |
-u user | указанная команда будет запущена от имени указанного пользователя, а не от root. |
-v | позволяет продлить таймаут на 15 минут или на тот, который указан в sudoers), но не выполнять каких-либо команд. |
Добавление пользователя в sudo
Управлять привилегиями пользователя в sudo можно путём редактирования конфигурационного файла /etc/sudoers
или добавления нового конфигурационного файла в каталог /etc/sudoers.d
В первом случае необходимо использовать утилиту visudo:
visudo
Чтобы дать пользователю jessie полные права при использовании sudo, необходимо добавить следующую директиву:
jessie ALL=(ALL) ALL
Пример содержимого файла sudoers
# Алиасы содержащие имена пользователей User_Alias FULLTIMERS = millert, mikef, dowdy User_Alias PARTTIMERS = bostley, jwfox, crawl User_Alias WEBMASTERS = will, wendy, wim # Runas алиасы содержащие имена пользователей или групп от которых будут запускаться команды Runas_Alias OP = root, operator Runas_Alias DB = oracle, sybase Runas_Alias ADMINGRP = adm, oper # Алиасы для наборов хостов Host_Alias SPARC = bigtime, eclipse, moet, anchor :\ SGI = grolsch, dandelion, black :\ ALPHA = widget, thalamus, foobar :\ HPPA = boa, nag, python Host_Alias CUNETS = 128.138.0.0/255.255.0.0 Host_Alias CSNETS = 128.138.243.0, 128.138.204.0/24, 128.138.242.0 Host_Alias SERVERS = master, mail, www, ns Host_Alias CDROM = orion, perseus, hercules # Алиасы для наборов команд Cmnd_Alias DUMPS = /usr/bin/mt, /usr/sbin/dump, /usr/sbin/rdump,\ /usr/sbin/restore, /usr/sbin/rrestore Cmnd_Alias KILL = /usr/bin/kill Cmnd_Alias PRINTING = /usr/sbin/lpc, /usr/bin/lprm Cmnd_Alias SHUTDOWN = /usr/sbin/shutdown Cmnd_Alias HALT = /usr/sbin/halt Cmnd_Alias REBOOT = /usr/sbin/reboot Cmnd_Alias SHELLS = /usr/bin/sh, /usr/bin/csh, /usr/bin/ksh, \ /usr/local/bin/tcsh, /usr/bin/rsh, \ /usr/local/bin/zsh Cmnd_Alias SU = /usr/bin/su Cmnd_Alias PAGERS = /usr/bin/more, /usr/bin/pg, /usr/bin/less
Полезные примеры
- Запустить bash от имени пользователя jessie:
sudo -u jessie /bin/bash
sudo._vypolnenie_komandy_ot_imeni_drugogo_polzovatelja.txt · Последнее изменение: 2015/12/19 00:00 (внешнее изменение)