Linux выполнить команду от другого пользователя

Обновлено: 08.07.2024

Команда sudo позволяет запускать программы от имени другого пользователя, по умолчанию пользователь root. Если вы проводите много времени в командной строке, sudo - одна из команд, которую вы будете использовать довольно часто.

Использование sudo вместо входа в систему в качестве пользователя root более безопасно, поскольку вы можете предоставлять ограниченные административные привилегии отдельным пользователям, не зная пароля root.

Установка Sudo (команда sudo не найдена)

Пакет sudo предустановлен в большинстве дистрибутивов Linux.

Если sudo не установлен, вы можете легко установить его с помощью менеджера пакетов вашего дистрибутива.

Установите Sudo на Ubuntu и Debian


Установите Sudo на CentOS и Fedora


Добавление пользователя в Sudoers

По умолчанию в большинстве дистрибутивов Linux предоставление доступа к sudo так же просто, как добавление пользователя в группу sudo, определенную в sudoers . Члены этой группы смогут запускать любую команду от имени пользователя root. Название группы может отличаться от рассылки к рассылке.

В дистрибутивах на основе RedHat, таких как CentOS и Fedora, имя группы sudo wheel . Чтобы добавить пользователя в группу, выполните:


В Debian, Ubuntu и их производных членам группы sudo предоставляется доступ sudo:


Учетная запись суперпользователя в Ubuntu по умолчанию отключен по соображениям безопасности и пользователям рекомендуется выполнить системную задачу администрирования с использованием Sudo. Первоначальный пользователь, созданный установщиком Ubuntu, уже является членом группы sudo, поэтому, если вы работаете в Ubuntu, есть вероятность, что пользователь, вошедший в систему, уже получил права sudo.

Если вы хотите разрешить определенному пользователю запускать только определенные программы как sudo, вместо добавления пользователя в группу sudo добавьте пользователей в sudoers файл.

Например, чтобы позволить пользователю linuxize запускать только mkdir команду sudo, введите:


и добавьте следующую строку:

В большинстве систем visudo команда открывает /etc/sudoers файл в текстовом редакторе vim. Если у вас нет опыта работы с vim, проверьте нашу статью о том, как сохранить файл и выйти из редактора vim .

Вы также можете разрешить пользователям запускать команды sudo без ввода пароля :

Как использовать sudo

Синтаксис sudo команды следующий:

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

Чтобы использовать sudo, просто добавьте к команде префикс sudo :


Где command команда, для которой вы хотите использовать sudo.

Sudo прочитает /etc/sudoers файл и проверит, предоставляется ли пользователю, вызывающему программу, с помощью команды sudo. При первом использовании sudo в сеансе вам будет предложено ввести пароль пользователя, и команда будет выполнена от имени пользователя root.

Например, чтобы перечислить все файлы в /root каталоге, вы бы использовали:


Тайм-аут пароля

По умолчанию sudo попросит вас ввести пароль еще раз через пять минут бездействия sudo. Вы можете изменить время ожидания по умолчанию, отредактировав sudoers файл. Откройте файл с помощью visudo :

Установите время ожидания по умолчанию, добавив строку ниже, где 10 время ожидания указано в минутах:

Если вы хотите изменить метку времени только для конкретного пользователя, добавьте следующую строку, где user_name - это рассматриваемый пользователь.

Запустите команду как пользователь, отличный от Root

Существует неправильное восприятие, sudo которое используется только для предоставления полномочий root обычному пользователю. На самом деле, вы можете использовать sudo для запуска команды, как любой пользователь.

-u Опция позволяет выполнить команду в качестве указанного пользователя.

В следующем примере мы используем sudo для запуска whoami команды от имени пользователя «richard»:


Команда whoami выведет имя пользователя, запустившего команду:


Это происходит потому, что перенаправление > вывода выполняется под пользователем, в котором вы вошли, а не пользователем, указанным в sudo. Перенаправление происходит до sudo вызова команды.

Одним из решений является вызов новой оболочки от имени пользователя root с помощью sudo sh -c :


Другой вариант - передать вывод как обычный пользователь в tee команду, как показано ниже:


Вывод

Вы узнали, как использовать sudo команду и как создавать новых пользователей с привилегиями sudo.

Команда sudo ( s ubstitute u ser and do , подменить пользователя и выполнить ) позволяет строго определенным пользователям выполнять указанные программы с административными привилегиями без ввода пароля суперпользователя root . Если быть точнее, то команда sudo позволяет выполнять программы от имени любого пользователя, но, если идентификатор или имя этого пользователя не указаны, то предполагается выполнение от имени суперпользователя root . Таким образом, использование sudo позволяет выполнять привилегированные команды обычным пользователям без необходимости ввода пароля суперпользователя root . Список пользователей и перечень их прав по отношению к ресурсам системы может быть настроен оптимальным образом для обеспечения комфортной и безопасной работы. Например, команда sudo в Ubuntu Linux, используется в режиме, позволяющем выполнять любые задачи администрирования системы без интерактивного входа под учетной записью root .

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

Командная строка sudo может быть использована в следующих форматах:

sudo -h | -K | -k | -V

sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]

sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command]

sudo [-AbEHknPS] [-C num] [-g group] [-h host] [-p prompt] [-u user] [VAR=value] [-i|-s] [ ]

sudo -e [-AknS] [-C num] [-g group] [-h host] [-p prompt] [-u user] file

Параметры командной строки:

-A, --askpass - использовать вспомогательную программу для ввода пароля

-b, --background - выполнить команду в фоновом режиме

-C, --close-from=num - закрыть все дескрипторы файлов >= num

-E, --preserve-env - сохранить пользовательское окружение при выполнении команды

-e, --edit - редактировать файлы вместо выполнения команды

-g, --group=group - выполнить команду от имени или ID указанной группы

-H, --set-home - установить для переменной HOME домашний каталог указанного пользователя

-h, --help - показать справку и выйти

-h, --host=host - выполнить команду на узле (если поддерживается модулем)

-i, --login - запустить оболочку входа в систему от имени указанного пользователя; также можно задать команду

-K, --remove-timestamp - полностью удалить файл с timestamp

-k, --reset-timestamp - объявить недействительным файл timestamp

-l, --list - показать список прав пользователя или проверить заданную команду; в длинном формате используется дважды

-n, --non-interactive - автономный режим без вывода запросов пользователю

-P, --preserve-groups - сохранить вектор группы вместо установки целевой группы

-p, --prompt=prompt - использовать указанный запрос пароля

-S, --stdin - читать пароль из стандартного ввода

-s, --shell - запустить оболочку от имени указанного пользователя; также можно задать команду

-U, --other-user=user - в режиме списка показывать права пользователя

-u, --user=user - выполнить команду (или редактировать файл) от имени или ID указанного пользователя

-V, --version - показать сведения о версии и выйти

-v, --validate - обновить временную метку пользователя без выполнения команды

-- - прекратить обработку аргументов командной строки

Примеры использования команды sudo :

sudo –l - отобразить список команд, доступных для выполнения текущему пользователю. Кроме списка команд отображаются параметры среды, которые будут применяться при их выполнении.

sudo –ll - отобразить список команд, доступных для выполнения текущему пользователю в длинном (расширенном) формате.

В данном формате вместо краткого синтаксиса для списка разрешенных команд в виде (ALL : ALL) ALL отображается подробное описание прав пользователя:

sudo lshw -C network - отобразить информацию о сетевом оборудовании с правами суперпользователя root

sudo –l –U user1 - посмотреть список команд, доступных для выполнения пользователю user1 . Для выполнения данной команды пользователь должен быть root или иметь право на выполнение команды sudo -l , что обеспечивается настройками утилиты sudo в файле /etc/sudoers

sudo ipmitool sensor - выполнить команду ipmitool sensor с правами root .

sudo su - выполнить команду su , т.е. создать сеанс суперпользователя root

sudo -i - запустить командную оболочку с правами суперпользователя root . Для выполнения данной команды пользователь должен иметь право на выполнение программы оболочки в среде sudo , например - /bin/bash

sudo ls /usr/local/protected - получить список файлов каталога, доступного только root

sudo -u user2 ls

- получить список файлов домашнего каталога пользователя user2

www/htdocs/index.html - редактировать файл

www/htdocs/index.html от имени пользователя www

sudo -g adm view /var/log/syslog - просмотреть файл системного журнала, доступного только суперпользователю root и членам группы adm

sudo -u user1 -g users2 vi /home/users2/textfile.txt - редактировать текстовый файл как пользователь user1, с принадлежностью к первичной группе users2

sudo -E /usr/bin/firefox - запустить браузер firefox от имени суперпользователя root , сохранив параметры среды текущего пользователя. Возможность выполнения команд с сохранением среды пользователя должна быть разрешена параметром SETENV в настройках файла конфигурации sudo

Файл конфигурации /etc/sudoers

Настройки sudo определяется содержимым файла /etc/sudoers . Поскольку ошибочные данные в данном файле могут привести к серьезным проблемам доступа к ресурсам системы, рекомендуется выполнять его изменение с помощью специального редактора sudoedit ( в некоторых дистрибутивах - visudo ), который поддерживает функции проверки синтаксиса и значительно снижает риск создания неработоспособной конфигурации sudo .

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

Синтаксис настроек в файле /etc/sudoers позволяет использовать специальные псевдонимы ( Alias-ы ), с помощью которых значительно упрощается как настройка, так и восприятие конфигурационной информации sudo .

В файле конфигурации /etc/sudoers возможно использование четырех разновидностей псевдонимов:

User_Alias - списки пользователей, для которых настраивается политика использования sudo .

Runas_Alias - списки пользователей, от имени которых может быть задано выполнение команд через sudo .

Host_Alias - списки узлов, с которых выполняется подключение к системе.

Cmnd_Alias - списки команд, использующиеся в настройках, выполняемых директивами файла /etc/sudoers

Host_Alias ADMCOMPS = localhost, server, admin - определяет псевдоним ADMCOMPS , который определяет группу компьютеров с именами localhost, server, admin .

Host_Alias MAILSERVERS = 192.168.0.100, smtp2 - определяет группу из двух компьютеров с указанными IP и именем. Возможно использование адресов подсетей.

User_Alias ADMINS = jsmith, admusr - определяет группу ADMINS , в которую входят пользователи с именами jsmith и admusr .

Аналогичным образом можно создать псевдонимы для различных наборов команд, доступных для выполнения в sudo :

Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool

Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum

Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig

Аналогичным образом можно создать псевдонимы для групп команд, выполнение которых делегируется одиночным или объединенных псевдонимами пользователей.

Основная часть настроек в файле /etc/sudoers задает правила, определяющие, какие пользователи, каких компьютеров, какие команды могут выполнять. Формат записей:

user - имена или псевдонимы пользователей.

MACHINE - имена или псевдонимы компьютеров

COMMANDS - секция команд, включающая имена или псевдонимы команд и дополнительные параметры.

Обычно, в файле /etc/sudoers присутствует директива, разрешающая выполнение пользователю root любых команд при любом подключении к системе:

Аналогичным образом можно разрешить выполнение через sudo всех команд для пользователя, например, с именем user

user ALL=(ALL) ALL

При данной настройке, у пользователя будет запрашиваться пароль ( его личный, а не пароль суперпользователя root ). При необходимости, можно настроить секцию команд таким образом, чтобы пароль не запрашивался, с использованием параметра NOPASSWD :

user ALL=(ALL) NOPASSWD: /usr/bin/su, /usr/bin/drakxconf - пароль будет запрашиваться при выполнении пользователем user через sudo всех команд, кроме su и drakxconf

Использование псевдонимов позволяет уменьшить необходимое число записей для определения прав пользователей, которые могут подключаться к системе с разных компьютеров и входить в разные группы:

ADMINS localhost=(ALL) NOPASSWD:ALL - разрешить группе пользователей, определенной псевдонимом “ADMINS” выполнять любые команды при подключении через петлевой интерфейс “localhost” без ввода пароля..

ADMINS ALL= NETWORKING, SOFTWARE - разрешить группе пользователей, объединенных псевдонимом “ADMINS” выполнять группы команд, объединенные псевдонимами “NETWORKING” и “SOFTWARE”.

Для существующих в системе групп пользователей можно также разрешать выполнение отдельных команд или групп команд:

%users localhost=/sbin/shutdown -h now - разрешить локальным пользователям выключение компьютера.

%operators ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom - разрешить членам группы “operators” монтирование и размонтирование указанных устройств.

%powerusers ALL=NETWORKING, NOPASSWD: /usr/bin/su - разрешить членам группы “powerusers” выполнять команды группы “NETWORKING” с вводом пароля и команду “su” без пароля.

Довольно часто возникает необходимость исключения разрешения на выполнение отдельных команд из списка, объединенных псевдонимом . В этом случае, перед именем команды или псевдонима ставится восклицательный знак – !

ADMINS ALL= ALL, !NETWORKING - разрешить группе пользователей, объединенных псевдонимом “ADMINS” выполнение всех команд, кроме команд, объединенных псевдонимом “NETWORKING”

В следующем примере, используется конфигурация команд, разрешающая выполнение через sudo для всех пользователей группы “ADMINS”, всех команд, кроме команд смены оболочки :

ADMINS ALL= ALL, !/bin/bash, !/usr/bin/su

Кроме настроек доступа, в файле /etc/sudoers присутствуют директивы Defaults , определяющие некоторые настройки путей исполняемых файлов и создание переменных окружения при выполнении команд:

Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin

Defaults env_keep = "COLOS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS"

Defaults env_keep += "MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE"

Defaults env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES"

Defaults env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE"

Defaults env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"

По умолчанию, если интервал выполнения команд с использованием sudo , не превышает 5 минут, то повторный ввод пароля не требуется. Однако, это значение можно изменить, добавив значение timestamp_timeout в минутах:

В данном случае, если команда sudo будет выполняться не позже, чем через 1 минуту после ввода пароля для предыдущей команды, то повторно пароль запрашиваться не будет. Если значение “timestamp_timeout” сделать равным нулю, то пароль будет запрашиваться при каждом запуске sudo , если сделать отрицательным ( -1 ), - то повторный ввод пароля не будет запрашиваться никогда.

Для исключения возможности выполнения sudo-команд при подключении через ssh без авторизации, по умолчанию, должна использоваться команда “ssh –t “:

Для определения дополнительного каталога с файлами конфигурации пользователей sudo используется директива:

takezi

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

[sudo] password for user1: Sorry, try again.
[sudo] password for user1:
sudo: 1 incorrect password attempt
You have new mail in /var/spool/mail/root"

pfg21, к сожалению, меня учили только читать.
Спасибо за ваш вариант, он работает. pstbin, не путай sudo и su блин.
sudo читает пароль только с _терминала_ . для гуя есть еще вариант с askpass.
а вот su может считать пароль с stdin использовать sudo.
в конфиге /etc/sudoers прописать необходимые команды на запуск от другого юзера без запроса пароля.

gbg

pstbin, если вам не подходят стандартные юниксовые пути решения проблем, у вас скорее всего проблемы в архитектуре вашего решения, а раз дело касается прав доступа - то и в безопасности. Армянское Радио, старая как говно мамонта система в которой не умеет sudo. частая ситуация.

CityCat4

Там просто какие-то невероятные возможности. Не знаю, как за обычного юзера, но за рута (запуск программы от рута без запроса пароля) делается вот так:

shambler81

shambler81

Karpion, причем тут бинарники?
Можно ссылочку?

Виктор Таран, Ссылки нет - я как-то давно пробовал ставить SetUID на скрипт, не получилось. Может, с тех пор поменялось.
Проще всего - действительно проверить.

Ужасающе безграмотный текст не вызывает у меня доверие. И упоминание "race condition" тут явно не по теме.

Как быть обычным пользователям, которым необходимо изменить некоторые настройки или установить программы, не имея при этом соответствующих прав?

Не обращаться же им каждый раз за помощью к администратору?

Нет. Для этого они могут стать временно другими пользователями с более высокими привилегиями либо выполнить необходимые действие от имени суперпользователя.

Чтобы временно стать другим пользователем выполним команду su [-] имя_пользователя

Система запросит пароль этого пользователя и можно продолжать работать. Одновременно изменится текущий каталог, то есть перейдет в домашний каталог данного пользователя. Например, так:

Переключение на пользователя root

Причем сеанс работы, запущенный от изначального имени все еще будет активен. Для возврата к нему выполним Ctrl + D или наберем команду exit . В работе команды su есть пара нюансов. Если ввести просто su без аргументов и опций, то вход будет осуществлен от имени суперпользователя root. Причем текущий каталог не изменится:

Команда su без аргументов

Этого лучше не делать, так как в процессе выполнения определенных команд некоторые файлы могут быть записаны в домашнем каталоге текущего пользователя и в дальнейшем это может привести к некоторым сложностям.

А можно войти в систему от имени другого пользователя и остаться в своем домашнем каталоге?

Да, для этого введем команду su имя_пользователя :

Однако, если ввести su - , то система перейдет в домашний каталог суперпользователя:

Система перешла в домашний каталог root

При выполнении команды su необходимо знать пароль другого пользователя и в этом и заключается проблема. Так как обычно люди паролями не делятся, а если и поделятся, то это может привести к нежелательным последствиям. Поэтому существует другой способ временно получить права пользователя с расширенными привилегиями. Для этого достаточно выполнить sudo [опции] команда

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

Но тогда какое отличие sudo от su ? В обоих случая можно выполнять любые действия.

Отличия есть. Во-первых, пароли суперпользователя и других администраторов скрыты от обычных пользователей. Во-вторых, не каждый пользователь может выполнять команду sudo .

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

То есть, если добавить обычного пользователя в группу sudo , то с помощью команды sudo он сможет выполнять абсолютно любые команды, как и суперпользователь?

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

И как это сделать?

Содержание файла

Теперь попробуем разобраться по порядку, что в нем указано.

User_Alias - синоним пользователей. С помощью синонима (Alias) определяют группу пользователей. Например, на рисунке уже указаны некоторые синонимы:

Отображение записи


где синоним ADMINS обозначает перечисленных пользователей vasya, petya, admin .

Что нам это дает?

Когда определенным пользователям нужно ограничить/расширить доступ, то всегда легче это сделать, объединив их всех в одну группу, особенно когда этих пользователей очень много. Так будет проще администрировать и в этом мы убедимся позже.

Runas_Alias - синоним пользователей, от имени которых будут запускаться определенные команды. Смысл их такой же, как User_Alias :

Отображение записи

Host_Alias - синоним компьютеров (хостов). Каждый компьютер имеет свое имя. Пользователи могут подключаться к удаленной системе (серверу) через свои или чужие компьютеру. Чтобы ограничить доступ к серверу с определенных компьютеров создается список этих компьютеров, которые объединяются в одну группу:

Отображение записи

Cmnd_Alias - синоним команд. Объединяет в группу список команд, которые можно или нельзя выполнять:

Отображение записи

В данном синониме необходимо указывать полный путь (не относительный) к командам, иначе ничего работать не будет. Все синонимы принято писать заглавными буквами. В описании я упомянул, что синоним по сути является группой. Однако не следует путать синоним со стандартной группой самих пользователей, которые уже имеются или могут быть созданы в Linux.

Теперь подходим к самому интересному. Чтобы ограничить или разрешить определенные действия определенным пользователям используется следующая запись:

Пользователь Компьютер = (Целевой пользователь) Команда

Отображение записи

Что же означает эта запись. Для примера рассмотрим такую запись: vasya pc = (admin) /sbin/shutdown

Она означает следующее: пользователь vasya с компьютера pc от имени пользователя admin может выполнять только команду /sbin/shutdown , то есть выключать систему. Иными словами пользователь vasya работает на компьютере pc . Чтобы выключить систему он набирает команду sudo -u admin shutdown.

А можно просто набрать sudo shutdown?

Нет. так как в данном случае выполнение идет от имени root , что является запрещенным действием для данного пользователя. Здесь мы указали только одного пользователя. Однако, когда у нас их больше, то здесь пригодятся синонимы (alias), рассмотренные выше.

Например, ADMINS SECURITY = (root) ALL означает, что пользователи, входящие в синоним ADMINS ( petya, vasya ) с компьютеров, входящих в синоним SECURITY ( server1, server2, server3 ) могут выполнять от имени пользователя root абсолютно любые ( ALL ) команды.

Когда данные пользователи выполняют команду sudo , то система запросит их личный пароль и продолжит выполнять запрошенные действия.

Немного поменяем запись в sudoers : ADMINS SECURITY = (root) NOPASSWD: ALL

С этой записью данным пользователям вообще не нужно вводить пароль.

Рассмотрим еще пару примеров, чтобы лучше понять принцип работы.

ALL ALL = (ALL) ALL - все пользователи на любых компьютерах от имени любых пользователей могут выполнять любые команды.

ALL localhost = /sbin/shutdown -h now - все пользователям разрешается на локальном компьютере выполнять команду shutdown , то есть выключать компьютер локально.

%student ALL = !/sbin/ - пользователям, входящие в группу student (перед группой всегда стоит знак % ), запрещено выполнять все команды из каталога /sbin . Знак ! здесь означает обратное действие (отрицание не).

Чтобы подробнее ознакомиться со всеми параметрами рекомендую ознакомится с описанием man sudoers .

А как можно редактировать файл sudoers ?

Для редактирования нужно обладать правами root , само редактирование выполняется командой visudo . Она позволяет безопасно отредактировать файл и сообщит об ошибках. Поэтому крайне не рекомендуется использовать обычные редакторы вроде nano, vim, emacs и так далее.

А как узнать может ли пользователь выполнять sudo или нет?

Для этого введем команду sudo -ll . Иногда может потребоваться ввести пароль и система отобразит можно ли запускать sudo или нет:

Отображение разрешений для пользователя

Список команд, которые мы изучили:

su - имя_пользователя - вход в систему от имени пользователя

su - - вход в систему от имени суперпользователя

sudo команда - выполнение команды от имени суперпользователя

sudo -u имя_пользователя команда - выполнение команды от имени пользователя

visudo - запуск редактора файла sudoers

sudo -l - список разрешенных команд для sudo у текущего пользователя

sudo -ll - подробный список разрешенных команд для sudo у текущего пользователя

Читайте также: