Как использовать команду sudo в Linux
Команда sudo в операционной системе Linux позволяет пользователю выполнить определенные команды от имени другого пользователя, обычно с правами администратора. Это очень полезный инструмент для управления и настройки системы, который обеспечивает безопасность и ограничения доступа к различным ресурсам и функциям.
Команда sudo используется в командной строке и позволяет указанному пользователю выполнять команды с правами других пользователей. Обычно она выполняется с префиксом «sudo», за которым следует команда, которую нужно выполнить. Например:
sudo apt-get update
В данном примере команда «sudo» позволяет пользователю выполнить команду «apt-get update» с привилегиями администратора, что обновит список доступных пакетов на компьютере.
Запустить команду от другого пользователя в Unix/Linux – способ 1
В операционной системе Unix/Linux команда sudo
позволяет пользователю выполнить команду с правами другого пользователя, обычно суперпользователя. Это полезно, когда требуется получить доступ к файлам, настройкам или ресурсам, которые доступны только определенным пользователям или группам.
Рассмотрим способ 1 для запуска команды от другого пользователя через sudo
:
- Откройте терминал и введите команду в следующем формате:
sudo -u user1 command
Где user1
— имя пользователя, от которого требуется запустить команду, а command
— сама команда, которую нужно выполнить.
Например, если вы хотите выполнить команду ipmitool
от имени пользователя admcomps
, введите:
sudo -u admcomps ipmitool
Если команда требует наличия прав суперпользователя, будет запрошен пароль текущего пользователя.
Этот способ позволяет запускать команды от другого пользователя в виде конкретной команды. Однако, если вам необходимо запускать команды от другого пользователя на регулярной основе, может быть полезно создать псевдонимы или скрипты для упрощения этого процесса.
Рассмотрим способ 2 запуска команды от другого пользователя в Unix/Linux в следующем уроке.
Запустить команду от другого пользователя в Unix/Linux – способ 2
Если вы хотите запустить команду от имени другого пользователя в операционной системе Unix/Linux, вам может потребоваться использовать команду sudo. Sudo позволяет пользователю запускать команды с правами других пользователей или группы.
Для использования команды sudo нужно ввести свой пароль. Однако, с помощью настройки файлов sudoers вам можно предоставить право пользователю или группе выполнять команды без ввода пароля.
Пример использования команды sudo для запуска команды ipmitool от имени пользователя operators:
sudo -u operators ipmitool sensor
В данном примере команда ipmitool будет выполнена от имени пользователя operators без необходимости ввода пароля. Право на выполнение команды должно быть предоставлено в файле sudoers с помощью следующей строки:
operators ALL=(ALL) NOPASSWD: /usr/bin/ipmitool
Вместо параметра ALL в строке можно указать имя хоста или псевдонимы хостов (host_alias) и группы пользователей (runas_group). Настраивать права можно для отдельных команд или полного списка команд.
В файле sudoers также можно настроить окружение для запуска команды от лица другого пользователя. Например, для пользователя admusr можно настроить перемнные окружения вида:
Defaults env_keep += "HOME USER1" Defaults env_keep += "ADMCOMPS"
Таким образом, при запуске команды sudo -u admusr /bin/bash будут сохранены следующие переменные окружения: HOME, USER1, ADMCOMPS.
Использование команды sudo расширяет возможности работы в Unix/Linux, позволяя выполнить команду от имени другого пользователя или группы.
Запустить команду от другого пользователя в Unix/Linux – способ 3
В некоторых случаях возникает необходимость запустить команду от имени другого пользователя в операционной системе Unix/Linux. Для этого существует несколько способов. В этом разделе мы рассмотрим третий способ, который заключается в использовании команды runuser
.
runuser
— это команда, которая позволяет запустить команду от другого пользователя в текущей сессии. Для использования этого способа необходимо иметь права администратора и установленный пакет util-linux
.
Синтаксис команды runuser
выглядит следующим образом:
runuser -l <username> -c <command>
Где:
-l
означает, что нужно войти в рабочую среду пользователя;<username>
— имя пользователя, от имени которого нужно выполнить команду;-c
— параметр, определяющий выполняемую команду;<command>
— команда, которую нужно выполнить.
Ниже приведен пример:
runuser -l user2 -c "echo 'Hello, world!'"
В данном примере команда будет выполнена от имени пользователя user2
и выведет на экран фразу «Hello, world!».
С помощью команды runuser
также можно запустить команду от имени пользователя root
. Для этого необходимо добавить правило в файл /etc/sudoers
.
Для открытия файла /etc/sudoers
в редакторе командной строки можно использовать команду:
sudo visudo
Добавьте следующую строку в файл /etc/sudoers
, заменив <username>
на имя пользователя, от имени которого нужно выполнять команду:
<username> ALL=(ALL) NOPASSWD: ALL
Эта строка позволяет пользователю выполнять команду от имени root
без ввода пароля.
Сохраните изменения в файле /etc/sudoers
и закройте редактор командной строки.
Теперь команда runuser
может быть использована для запуска команд от имени другого пользователя без требования ввода пароля.
В этом разделе мы рассмотрели третий способ запуска команды от другого пользователя в операционной системе Unix/Linux с использованием команды runuser
. Этот способ может быть полезен в случаях, когда необходимо запустить команду от другого пользователя без требования ввода пароля.
Видео:
Sudo в Debian GNU/Linux. Права администратора
Sudo в Debian GNU/Linux. Права администратора by DET.impact 1,592 views 1 year ago 5 minutes, 40 seconds