- Команда Sudo в Linux
- Установка Sudo (команда sudo не найдена)
- Установите Sudo в Ubuntu и Debian
- Установите Sudo на CentOS и Fedora
- Добавление пользователя в Sudoers
- Как использовать судо
- Тайм-аут пароля
- Выполнить команду от имени пользователя, отличного от root
- Как перенаправить с помощью Sudo
- Выводы
- Ubuntu Documentation
- Заметки
- Разрешение другим пользователям использовать sudo
- Преимущества использования sudo
- Минусы использования sudo
- Заблуждения
- Возврат к традиционной учетной записи root
- Drag & Drop Sudo
- Все, что вы хотели бы знать о команде SUDO
- Инсталляция SUDO
- Добавление пользователей в файл Sudoers
- Как пользоваться sudo
- Время ожидания пароля
- Запуск команды sudo от имени пользователя, отличного от пользователя root
- Как выполнять перенаправление с помощью sudo
Команда Sudo в Linux
Команда sudo позволяет запускать программы от имени другого пользователя, по умолчанию root. Если вы проводите много времени в командной строке, sudo — одна из команд, которую вы будете использовать довольно часто.
Использование sudo вместо входа в систему с правами root более безопасно, поскольку вы можете предоставлять ограниченные административные привилегии отдельным пользователям, не зная их пароля root.
В этом руководстве мы объясним, как использовать команду sudo .
Установка Sudo (команда sudo не найдена)
Пакет sudo предустановлен в большинстве дистрибутивов Linux.
Чтобы проверить, установлен ли пакет sudo в вашей системе, откройте консоль, введите sudo и нажмите Enter . Если вы установили sudo в систему, отобразится короткое справочное сообщение. В противном случае вы увидите что-то вроде sudo command not found .
Если sudo не установлен, вы можете легко установить его с помощью диспетчера пакетов вашего дистрибутива.
Установите Sudo в Ubuntu и Debian
Установите Sudo на CentOS и Fedora
Добавление пользователя в Sudoers
По умолчанию в большинстве дистрибутивов Linux предоставить доступ sudo так же просто, как добавить пользователя в группу sudo, определенную в файле sudoers . Члены этой группы смогут выполнять любую команду от имени пользователя root. Название группы может отличаться от рассылки к рассылке.
В дистрибутивах на основе RedHat, таких как CentOS и Fedora, группа sudo называется wheel . Чтобы добавить пользователя в группу , запустите:
В Debian, Ubuntu и их производных членам группы sudo предоставляется доступ sudo:
Учетная запись пользователя root в Ubuntu по умолчанию отключена из соображений безопасности, и пользователям рекомендуется выполнять системные административные задачи с помощью sudo. Первоначальный пользователь, созданный установщиком Ubuntu, уже является членом группы sudo, поэтому, если вы используете Ubuntu, есть вероятность, что пользователь, с которым вы вошли в систему, уже получил права sudo.
Чтобы разрешить конкретному пользователю запускать только определенные программы как sudo, вместо добавления пользователя в группу sudo добавьте пользователей в файл sudoers .
Например, чтобы позволить пользователю linuxize запускать только команду mkdir как sudo, введите:
и добавьте следующую строку:
В большинстве систем команда visudo открывает файл /etc/sudoers с помощью текстового редактора vim. Если у вас нет опыта работы с vim, ознакомьтесь с нашей статьей о том, как сохранить файл и выйти из редактора vim .
Вы также можете разрешить пользователям запускать команды sudo без ввода пароля :
Как использовать судо
Синтаксис команды sudo следующий:
Команда sudo имеет множество параметров, которые управляют ее поведением, но обычно она используется в самой простой форме, без каких-либо параметров.
Чтобы использовать sudo, просто добавьте к команде префикс sudo :
Где command — это команда, для которой вы хотите использовать sudo.
Sudo прочитает файл /etc/sudoers и проверит, есть ли у вызывающего пользователя sudo Assessment. При первом использовании sudo в сеансе вам будет предложено ввести пароль пользователя, и команда будет выполнена от имени пользователя root.
Например, чтобы перечислить все файлы в /root каталоге /, вы должны использовать:
Тайм-аут пароля
По умолчанию sudo попросит вас снова ввести пароль после пяти минут бездействия sudo. Вы можете изменить время ожидания по умолчанию, отредактировав файл sudoers . Откройте файл с помощью visudo :
Установите тайм-аут по умолчанию, добавив строку ниже, где 10 — это время ожидания в минутах:
Если вы хотите изменить метку времени только для определенного пользователя, добавьте следующую строку, где user_name — это соответствующий пользователь.
Выполнить команду от имени пользователя, отличного от root
Существует ошибочное мнение, что sudo используется только для предоставления прав root обычному пользователю. Фактически, вы можете использовать sudo для запуска команды от имени любого пользователя.
Параметр -u позволяет запускать команду от имени указанного пользователя.
В следующем примере мы используем sudo для запуска команды whoami от имени пользователя «richard»:
Команда whoami напечатает имя пользователя, запустившего команду:
Как перенаправить с помощью Sudo
Если вы попытаетесь перенаправить вывод команды в файл, для которого у вашего пользователя нет прав на запись, вы получите ошибку «Permission denied».
Это происходит потому, что перенаправление вывода « > » выполняется под пользователем, в который вы вошли, а не под пользователем, указанным с помощью sudo. Перенаправление происходит до вызова команды sudo .
Одно из решений — вызвать новую оболочку как root с помощью sudo sh -c :
Другой вариант — передать вывод как обычный пользователь команде tee , как показано ниже:
Выводы
Вы узнали, как использовать команду sudo и как создавать новых пользователей с привилегиями sudo.
Если у вас есть вопросы, не стесняйтесь оставлять комментарии.
Источник
Ubuntu Documentation
Содержание
В Linux (да и в Unix вообще) суперпользователь (root user) имеет доступ ко всему. Это аналог пользователя Администратор в Windows. Как бы вы ни настроили свою учетную запись, вы все равно не сможете заблокировать доступ суперпользователя к каким-либо ресурсам компьютера. Кроме того, суперпользователь имеет доступ ко всем командам операционной системы и всем ее устройствам. Многие начинающие пользователи активно используют учетную запись root, поскольку это очень удобно. Тем не менее существуют причины, по которым учетную запись суперпользователя не следует применять для повседневной работы.
- Доступ такого уровня к ресурсам компьютера необходим далеко не всегда.
- Доступ на уровне суперпользователя— это, скорее, большая ответственность, нежели благодать. При обычном доступе вы работаете только с ресурсами своей учетной записи. Если же вы находитесь в системе в качестве суперпользователя, вы можете случайно сделать ошибку и удалить все — да-да, все файлы всей системы Linux!
Думаете, с вами такого не случится? Даже опытные администраторы Linux рассказывают жуткие истории о том дне, когда они сделали роковую опечатку или не задумывались над тем, что они делают, работая под именем суперпользователя.
По умолчанию учетная запись суперпользователя отключена в Ubuntu. Это означает, что вы не сможете зайти в систему как root. Однако, инсталлятор настраивает sudo для пользователя, созданного во время установки. Команда sudo позволяет выполнять все приложения, требующие привилегий суперпользователя.
Когда sudo спрашивает пароль, вы должны ввести пароль ВАШЕГО пользователя ! То есть пароль root’a вам не нужен !
Заметки
- Пароль сохраняется по умолчанию на 15 минут. По истечении этого времени, вам нужно будет ввести пароль снова.
- Несмотря на то, что при вводе пароль не отображается на экране (даже в виде звездочек), он все-равно вводится!
Для выполнения графических конфигурационных утилит с sudo, просто запустите приложение через меню.
Для запуска программ через sudo, которые обычно запускаются под обычным пользователем (например gedit), нажмите Alt+F2 и введите gksudo gedit. В Kubuntu используйте вместо gksudo программу kdesu.
Использование sudo в командной строке:
Пример #1 — смена пользователя и группы для файлов в домашней папке пользователя
Пример #2 — перезапуск сетевых служб
Для запуска графических программ используйте gksudo или kdesu, иначе попытка входа может провалиться. Если это происходит и при входе вылазит ошибка: «Unable to read ICE authority file», войдите в безопасный терминал и выполните следующую команду, подставив своё имя пользователя:
Для запуска режима суперпользователя в терминале (root shell, т.е. командная строка, где вы можете выполнять команды под пользователем root), запустите терминал и выполните команду:
- Для запуска режима суперпользователя, оставив текущие переменные окружения, введите:
- Вход под другим пользователем (для графического входа, используйте что-то типа gdmflexiserver):
Разрешение другим пользователям использовать sudo
Чтобы разрешить пользователю использовать sudo, откройте Система → Администрирование → Пользователи и группы. Затем выберите пользователя и нажмите на кнопке Свойства. В появившемся окне зайдите на вкладку Привилегии пользователя и поставьте галочку Администрировать систему.
Аналог этой же процедуры в терминале: sudo adduser $user admin, где $user — имя пользователя.
Преимущества использования sudo
Причины, по которым пользователь root отключен по умолчанию, заключаются в следующем:
- Программа установки задаёт меньше вопросов.
- Пользователям не нужно запоминать дополнительный пароль, который они могут забыть.
- Перед тем как произойдёт выполнение команды, вас попросят ввести пароль. Это даст время подумать о возможных последствиях.
sudo добавляет в лог выполненные команды (/var/log/auth.log).
Все попытки взломщиков, пытающихся подобрать пароль к root, будут обречены на провал.
Минусы использования sudo
Хотя выгода для использования sudo на персональных компьютерах велика, есть некоторые моменты, которые надо отметить:
Redirecting the output of commands run with sudo can catch new users out. For instance consider sudo ls > /root/somefile will not work since it is the shell that tries to write to that file. You can use ls | sudo tee -a /root/somefile to append, or ls | sudo tee /root/somefile to overwrite contents. You could also pass the whole command to a shell process run under sudo to have the file written to with root permissions, such as sudo bash -c «ls > /root/somefile».
Заблуждения
Разве sudo не менее безопасно, чет su?
Основая модель безопасности одинакова в обоих случаях, поэтому и уязвимость будет одинаковой. Любой пользователь, использующий su или sudo рассматривается как привилегированный пользователь. If that user’s account is compromised attby an attacker, the attacker can also gain root privileges the next time the user does so. The user account is the weak link in this chain, and so must be protected with the same care as root.
On a more esoteric level, sudo provides some features which encourage different work habits, which can positively impact the security of the system. sudo is commonly used to execute only a single command, while su is generally used to open a shell and execute multiple commands. The sudo approach reduces the likelihood of a root shell being left open indefinitely, and encourages the user to minimize their use of root privileges.
Я не буду иметь возможность загрузиться в однопользовательском режиме! Программа sulogin в Ubuntu изменена для того чтобы можно было войти в однопользовательский режим, даже если пользователь root отключен.
Я могу получить права администратора из консоли без ввода пароля!
- Вам потребуется ввести пароль для этого.
Console users have access to the boot loader, and can gain administrative privileges in various ways during the boot process. For example, by specifying an alternate init(8) program. Linux systems are not typically configured to be secure at the console, and additional steps (for example, setting a root password, a boot loader password and a BIOS password) are necessary in order to make them so. Note that console users usually have physical access to the machine and so can manipulate it in other ways as well.
Возврат к традиционной учетной записи root
» height=»16″ src=»/moin_static198/light/img/icon_cool.png» title=»Info » width=»16″/> Не рекомендуется это делать!
Consider using the below command instead:
Использование этой команды временно откроет консоль с правами root. Активация аккаунта root в Ubuntu не поддерживается из-за ненадобности. Всё, что вам требуется сделать с правами администратора в Ubuntu можно сделать через sudo или gksudo.
Если root включен, и вы хотите отключить его, откройте терминал и введите следующую команду:
Drag & Drop Sudo
Этот трюк взят из форумов.
Создайте кнопку запуска со следующей командой:
Теперь при перетаскивании любого файла на эту кнопку, будет запущено ассоциированное с этим файлом приложение с привилегиями суперпользователя. Это особенно удобно при редактировании конфигурационных файлов.
RootSudoRu (последним исправлял пользователь andreyshel 2010-06-01 09:56:33)
The material on this wiki is available under a free license, see Copyright / License for details
You can contribute to this wiki, see Wiki Guide for details
Источник
Все, что вы хотели бы знать о команде SUDO
Оригинал: Todo lo que quisiste saber del comando SUDO
Автор: maslinux
Дата публикации: 17 июня 2019 г.
Перевод: В.Костромин
Дата перевода: 19 июня 2019 г.
Команда sudo позволяет нам запускать программы от имени другого пользователя, по умолчанию с правами суперпользователя root. Если вы проводите много времени в командной строке, sudo — это команда, которую вы будете использовать довольно часто.
Используйте sudo вместо того, чтобы запускать сессию суперпользователя, так как это безопаснее, потому что вы можете предоставить ограниченные административные привилегии отдельным пользователям, которые не знают пароля root.
В этом коротком руководстве мы расскажем, как использовать команду sudo.
Инсталляция SUDO
Пакет sudo установлен по умолчанию в подавляющем большинстве дистрибутивов GNU/Linux, но не во всех. Есть и такие, где он установлен, но вам об этом не сообщается. Мы расскажем, как его увидеть.
Чтобы проверить, установлен ли пакет sudo в вашей системе, откройте консоль, введите sudo и нажмите Enter. Если пакет sudo у вас установлен, система покажет краткое справочное сообщение, в противном случае вы увидите что-то вроде sudo command not found.
Если sudo не установлен, вы можете легко установить его, используя менеджер пакетов вашего дистрибутива.
Добавление пользователей в файл Sudoers
По умолчанию в большинстве дистрибутивов GNU / Linux для того, чтобы предоставить пользователю доступ к sudo, достаточно добавить этого пользователя в группу sudo, определенную в файле sudoers в каталоге /etc. Члены этой группы могут выполнять любую команду от имени root. Название группы может варьироваться от одного дистрибутива к другому. В дистрибутивах, основанных на RedHat, таких как CentOS и Fedora, имя группы sudo — wheel. Чтобы добавить пользователя к эту группу, можно выполнить команду:
В Debian, Ubuntu и их производных, выполнять команду sudo могут члены группы sudo:
В Ubuntu учетная запись пользователя root по умолчанию отключена из соображений безопасности, и пользователям рекомендуется выполнять административные задачи системы с помощью sudo. Первоначальный пользователь, созданный установщиком Ubuntu, уже является членом группы sudo, поэтому если вы работаете в Ubuntu, вполне вероятно, что пользователь, с которым вы вошли в систему, уже имеет привилегии sudo.
Если вы хотите разрешить конкретному пользователю запускать через sudo только определенные программы, вместо добавления пользователя в группу sudo, добавьте пользователей в файл sudoers.
Например, чтобы позволить пользователю alumno выполнять от имени sudo только команду mkdir, вызовите специальную версию редактора vim:
и добавьте следующую строку:
В большинстве систем команда visudo открывает файл /etc/sudoers в текстовом редакторе vim. Если у вас нет опыта работы с vim, используйте nano.
Вы также можете разрешить пользователям выполнять команды sudo без аутентификации:
alumno ALL=(ALL) NOPASSWD: ALL
Как пользоваться sudo
Команда sudo имеет много опций, которые управляют ее поведением, но обычно она используется в самой простой форме, без опций.
Чтобы воспользоваться sudo, просто введите нужную вам команду с префиксом sudo:
где comando — это та команда, для выполнения которой вам нужно использовать sudo.
Sudo прочитает файл /etc/sudoers и проверит, предоставлен ли вызывающему её пользователю доступ к sudo. При первом использовании sudo в сеансе вам будет предложено ввести ваш пароль пользователя (не пароль root), и команда будет выполнена от имени пользователя root.
Например, для отображения всех файлов в каталоге /root можно использовать команду:
Время ожидания пароля
По умолчанию, если в течение пяти минут команда sudo не использовалась, вам придется ввести пароль повторно. Вы можете изменить время ожидания по умолчанию, отредактировав файл sudoers. Откройте файл с помощью nano:
Установите время ожидания по умолчанию, добавив следующую строку, где 15 — время ожидания, указанное в минутах:
Если вы хотите изменить время только для конкретного пользователя, добавьте следующую строку, где user_name — это рассматриваемый пользователь.
Запуск команды sudo от имени пользователя, отличного от пользователя root
Существует неправильное представление о том, что sudo используется только для предоставления полномочий root обычному пользователю. На самом деле, вы можете использовать sudo для выполнения команд от имени любого другого пользователя.
Опция -u позволяет вам выполнить команду от имени конкретного пользователя.
В следующем примере мы используем sudo для выполнения команды whoami от пользователя “alumno”:
Команда whoami напечатает имя пользователя, который выполняет эту команду:
Как выполнять перенаправление с помощью sudo
Если вы попытаетесь перенаправить вывод команды в файл, к которому у вашего пользователя нет прав на запись, вы получите сообщение об ошибке «Отказано в доступе».
Это происходит потому, что перенаправление вывода «>» выполняется с правами пользователя, под которым вы вошли в систему, а не под пользователем, указанным в sudo. Перенаправление происходит до вызова команды sudo.
Одним из решений является вызов новой оболочки с правами root с помощью sudo sh -c:
Еще один способ — направить вывод команды, выполняемой обычным пользователем, в команду, выполняемую через sudo, как показано ниже:
Sudo — очень мощная команда, но при обращении с ней нужно быть очень осторожным.
Источник