Android

Команда Судо в Linux

The Gummy Bear Song - Long English Version

The Gummy Bear Song - Long English Version

Оглавление:

Anonim

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

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

В этом уроке мы объясним, как использовать команду sudo .

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

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

Чтобы проверить, установлен ли пакет sudo в вашей системе, откройте консоль, введите sudo и нажмите Enter . Если у вас установлен sudo, система отобразит краткое справочное сообщение, в противном случае вы увидите что-то вроде sudo command not found .

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

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

apt install sudo

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

yum install sudo

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

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

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

usermod -aG wheel username

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

usermod -aG sudo username

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

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

sudo visudo

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

linuxize ALL=/bin/mkdir

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

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

linuxize ALL=(ALL) NOPASSWD: ALL

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

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

sudo OPTION.. COMMAND

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

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

sudo command

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

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

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

sudo ls /root

password for linuxize:….bashrc.cache.config.local.profile

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

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

sudo visudo

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

Defaults timestamp_timeout=10

Defaults:user_name timestamp_timeout=10

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

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

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

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

sudo -u richard whoami

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

richard

Как перенаправить с Sudo

sudo echo "test" > /root/file.txt

bash: /root/file.txt: Permission denied

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

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

sudo sh -c 'echo "test" > /root/file.txt'

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

echo "test" | sudo tee /root/file.txt

Вывод

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

терминал судо