Как управлять доступом sudo в linux

Введение

Добавление и удаление пользователей – это одна из базовых задач, с которой вы можете столкнуться при работе на новом сервере с ОС семейства Linux. Как правило, после того, как вы установили новую систему, у вас есть только один пользователь – суперпользователь.

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

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

Полезное

Увидеть список привилегий можно, запустив sudo –l (будет отображен список для текущего пользователя), либо sudo –l –U user (будет отображен список привилегий пользователя user):


Скриншот №4. Список привилегий пользователя

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

можно запустить:

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

и продолжить работу в нем — все команды будут запускаться с повышенными правами. По завершении работы выходим из интерпретатора командой exit.

191028
Санкт-Петербург
Литейный пр., д. 26, Лит. А

+7 (812) 403-06-99

700
300

ООО «ИТГЛОБАЛКОМ ЛАБС»

700
300

Предоставление и отзыв прав суперпользователя

Каждому пользователю в Linux можно предоставить root-права, добавив его в соответствующую группу. Точно так же их можно и отнять, если вдруг это понадобится. Рассмотрю три варианта действий.

Создание нового пользователя с root

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

  1. Откройте Терминал и введите команду sudo adduser user (user замените на нужное имя пользователя).
  2. В консоли появятся инструкции по созданию нового пользователя. Присвойте пароль и подтвердите действие, чтобы завершить создание.
  3. Добавьте новую учетную запись в группу sudo, введя sudo usermod -aG sudo user (user здесь тоже понадобится заменить).
  4. Проверьте выполненные действия, переключившись на новую учетную запись через su testuser. Для подтверждения введите пароль (при вводе символы не отображаются на экране).
  5. Выполните любую команду с sudo и убедитесь, что все прошло успешно.

Для существующей учетной записи

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

sudo usermod -aG sudo user

Используйте предыдущую инструкцию для проверки внесенных изменений.

Откат прав суперпользователя

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

sudo deluser user sudo

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

Это была вся основная информация о правах суперпользователя в Linux. Вы знаете, что дают такие привилегии, как их правильно использовать и управлять пользователями. В качестве рекомендации скажу, что всегда нужно читать текст ошибок, появляющихся в Терминале, если что-то пошло не так. Это позволит вам быстрее решить проблему без траты времени на поиски в Google.

Вход в систему как Root

Рассмотрите возможность использования других методов для получения временного корневого доступа. Вход в систему как root не рекомендуется для регулярного использования.

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

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

Использование sudo или su вместо входа в систему как root поможет предотвратить непреднамеренный ущерб при входе в систему как root.

Использование этих команд дает пользователю возможность подумать о команде до нанесения серьезного ущерба.

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

Во-первых, это не позволяет пользователям неосознанно наносить слишком большой ущерб, используя корневую учетную запись. Во-вторых, защищает систему от потенциальных хакеров. С заблокированной учетной записью root хакеры не могут получить к ней доступ.

Введите . root как пользователь при входе в Linux.

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

Введите пароль пользователя root в качестве пароля пользователя.

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

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

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

Еще раз уточню, что команда sudo идеально подходит для получения необходимых привилегий без переключения учетной записи. Ее можно использовать как для выполнения одного действия, так и нескольких. Если вы желаете временно получить рут-права через эту команду, введите sudo -s или sudo -i. В первом случае домашний каталог остается текущим, а во втором меняется на /root.

Примерно так же работает и команда su, но она обладает дополнительными аргументами, которые следует уточнить:

  • -c – позволяет выполнить команду;
  • -g – устанавливает группу для пользователя;
  • -G – дополнительные группы для юзера;
  • -, -l, —login – один из режимов входа, при котором происходит переключение домашнего каталога;
  • -p – сохранение переменных окружения;
  • -s – выбор оболочки для выхода.

Есть вариант выполнить вход в оболочку под суперпользователем, но он имеет свои неудобства. Он заключается в переключении в доступную виртуальную консоль, что осуществляется комбинацией Ctrl + Alt + F1-F6. Там понадобится ввести логин и пароль root для получения доступа. Главный недостаток этого метода – потеря возможности взаимодействия с графическим интерфейсом операционной системы.

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

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

Права доступа по-умолчанию для вновь создаваемых объектов файловой системе.

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

  • — для файлов.
  • — для каталогов.

Есть такая штука как umask, которая задана для каждого пользователя и хранится в виде строчки в файле .bash_profile. Итого, у вновь создаваемого каталога будут права равные исходным правам доступа — umask.

Узнать текущий umask можно, введя команду umask без параметров. Пример:

Как видно из примера, umask установлен 0022, исходные права доступа равны 0666 — для файлов и 0777 — для каталогов. В результате получаем:

Как наделить пользователя правами sudo

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

Добавление нового пользователя в группу sudo

По умолчанию в Ubuntu 16.04 правами выполнять sudo команды обладают все пользователи, которые входят в соответствующую группу.

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

$ groups newuser

В результате вы увидите на экране:

newuser : newuser

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

$ usermod -aG sudo newuser

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

Ключ –aG нужен для того, чтобы пользователь был добавлен в одну из уже существующих в списке групп.

Проверка наличия sudo-прав

Теперь необходимо проверить, может ли ваш пользователь выполнять административные команды.

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

$ команда

Вы можете выполнить эту же команду, но с административными правами, если напишете в начале sudo:

$ sudo команда

При этом вам нужно будет ввести пароль от аккаунта данного пользователя.

Уточнение прав пользователя в in /etc/sudoers

Альтернативным способом дать пользователю sudo-права является настройка конфигурационного файла. Вам нужно использовать команду visudo для того, чтобы открыть конфигурационный файл /etc/sudoers в выбранном по умолчанию редакторе и указать права конкретно для этого пользователя.

Рекомендуется для редактирования конфигурационного файла использовать именно команду visudo: во-первых, она защищает файл от нескольких одновременных изменений, во-вторых, проверяет синтаксис файла перед перезаписью. Благодаря этому у вас не будет ситуации, когда вы неправильно настроили sudo, а потом не можете внести нужные изменения, так как потеряли административные права.

Если в данный момент вы авторизовались под суперпользователем, введите команду:

# visudo

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

$ sudo visudo

Как правило, команда visudo открывалась /etc/sudoers в редакторе vi, что могло смутить не очень опытных пользователей. Поэтому в Ubuntu 16.04 вместо vi используется nano, инструмент, который гораздо больше знаком большинству пользователей. Используете стрелки на клавиатуре для того, чтобы найти нужную строку. Она выглядит примерно так:

root ALL=(ALL:ALL) ALL

Скопируйте этот текст чуть ниже и вместо “root” напишите имя того пользователя, которого вы хотите наделить правом выполнять sudo-команды. Это будет выглядеть примерно так:

root ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL

Для каждого нового пользователя необходимо добавлять новую строку. После того, как вы внесете все необходимые изменения, сохраните и закройте файл, нажав Ctrl-X, затем Y и Enter для подтверждения.

Сброс пароля root или администратора

Сбросьте пароль root, если он был забыт.

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

Перезагрузите компьютер и удерживайте левую кнопку . после экрана BIOS.

Это откроет меню GRUB. Возможно, придется попробовать данную процедуру несколько раз.

Выберите режим восстановления.

Это загрузит режим восстановления для вашего текущего дистрибутива.

Выберите вариант из меню.

Это запустит терминал, когда вы вошли в систему как пользователь root.

Диск с разрешениями на запись.

Когда вы загружаетесь в режиме восстановления, вы, как правило, имеете только права на чтение. Введите следующую команду, чтобы включить доступ для записи:

mount -rw -o remount /

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

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

  • Введите и нажмите . Если вам нужно изменить пароль root, введите .passwdaccountName passwd root
  • Введите новый пароль дважды при появлении запроса.

Перезагрузите компьютер после сброса паролей.

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

Управление пользователями

Просмотр

Вся информация о пользователях хранится в файле .

Каждый аккаунт занимает одну строку, в формате

  • — имя пользователя.
  • — зашифрованный пароль пользователя.
  • — идентификационный номер пользователя.
  • — идентификационный номер основной группы пользователя.
  • — необязательное поле, используемое для указания дополнительной информации о пользователе (например, полное имя пользователя).
  • — домашний каталог ($HOME) пользователя.
  • — командный интерпретатор пользователя (обычно /bin/sh).

Получение информации о пользователях

  • – вывод информации (имя пользователя, рабочий терминал, время входа в систему, информацию о потребленных ресурсах CPU и имя запущенной программы) о всех вошедших в систему пользователях.
  • – вывод информации (имя пользователя, рабочий терминал, время входа в систему) о всех вошедших в систему пользователях.
  • или или – вывод вашего имени пользователя.
  • – вывод имен пользователей, работающих в системе.
  • – вывод о идентификаторах пользователя: его uid, имя_пользователя, gid и имя первичной группы и список групп в которых состоит пользователь
  • – вывод списка групп в которых состоит пользователь.

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

Добавление пользователя осуществляется при помощи команды useradd.

Ключи:

  • Базовый каталог. Это каталог, в котором будет создана домашняя папка пользователя. По умолчанию /home.
  • Комментарий. В нем вы можете напечатать любой текст.
  • Название домашнего каталога. По умолчанию название совпадает с именем создаваемого пользователя.
  • Дата, после которой пользователь будет отключен. Задается в формате ГГГГ-ММ-ДД. По умолчанию отключено.
  • Количество дней, которые должны пройти после устаревания пароля до блокировки пользователя, если пароль не будет изменен (период неактивности). Если значение равно 0, то запись блокируется сразу после устаревания пароля, при -1 — не блокируется. По умолчанию -1.
  • Первичная группа пользователя. Можно указывать как GID, так и имя группы. Если параметр не задан будет создана новая группа название которой совпадает с именем пользователя.
  • Список вторичных групп в которых будет находится создаваемый пользователь
  • Каталог шаблонов. Файлы и папки из этого каталога будут помещены в домашнюю папку пользователя. По умолчанию /etc/skel.
  • Ключ, указывающий, что необходимо создать домашнюю папку. По умолчанию домашняя папка не создается.
  • Зашифрованный пароль пользователя. По умолчанию пароль не задается, но учетная пользователь будет заблокирован до установки пароля.
  • Оболочка, используемая пользователем. По умолчанию /bin/sh.
  • Вручную задать UID пользователю.

Если при создании пользователя не указываются дополнительные ключи, то берутся настройки по умолчанию. Посмотерть настройки по-умолчанию можно с помощью команды .

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

Изменение пользователя

Изменение параметров пользователя происходит с помощью утилиты usermod. Пример использования:

Изменить пароль пользователю можно при помощи утилиты passwd.

Утилита passwd может использоваться и обычным пользователем для смены пароля.

Основные ключи passwd:

  • Удалить пароль пользователю. После этого пароль будет пустым, и пользователь сможет входить в систему без предъявления пароля.
  • Сделать пароль устаревшим. Это заставит пользователя изменить пароль при следующем входе в систему.
  • Заблокировать учетную запись пользователя по прошествии указанного количества дней после устаревания пароля.
  • Минимальное количество дней между сменами пароля.
  • Максимальное количество дней, после которого необходимо обязательно сменить пароль.
  • Заблокировать учетную запись пользователя.
  • Разблокировать учетную запись пользователя.

Установка пустого пароля пользователя

Супер пользователь с помощью утилит командной строки passwd и usermod или путем редактирования файла /etc/shadow может удалить пароль пользователь, дав возможность входить в систему без указания пароля.

или

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

Удаление пользователя

Для того, чтобы удалить пользователя воспользуйтесь утилитой userdel.

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

  • Принудительно удалить пользователя, даже если он сейчас работает в системе.
  • Удалить домашний каталог пользователя.

Как изменить пароль root по умолчанию в Ubuntu

http-equiv=»Content-Type» content=»text/html;charset=UTF-8″>style=»clear:both;»>

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

Интеллектуальная рекомендация

1. Для реальных сигналов (для понимания): A (ω) является соотношением амплитуды выходного сигнала и амплитуды входного сигнала, называемого частотой амплитуды. Φ (ω) — это разница межд…

Один. вести Многие люди задавали некоторые вопросы о создании проекта Flex + LCDS (FDS) в сообщениях и группах. Из-за операции ее трудно четко объяснить, поэтому я написал простой учебник (я обещал эт…

package com.example.phonehttp; import android.os.Bundle; import android.os.Handler; import android.app.Activity; import android.widget.ScrollView; import android.widget.TextView; public class MainActi…

Он предназначен для реализации подкласса того же родительского класса с родительским классом. Полиморфизм Один и тот же ссылочный тип использует разные экземпляры для выполнения разных операций; Идея …

тема: Объедините два упорядоченных слоя в новый заказанный список и возврат. Новый список состоит из всех узлов двух связанных списков, данных сплавным. Пример: Анализ: два связанных списка состоит в …

Вам также может понравиться

D. Самая ценная строка Пример ввода 2 2 aa aaa 2 b c Образец вывода aaa c На самом деле, будучи задетым этим вопросом, вы должны быть осторожны. После инвертирования строки, если две строки имеют один…

Given a 2D integer matrix M representing the gray scale of an image, you need to design a smoother to make the gray scale of each cell becomes the average gray scale (rounding down) of all the 8 surro…

calc () может быть очень незнакомым для всех, и трудно поверить, что calc () является частью CSS. Поскольку он выглядит как функция, почему он появляется в CSS, поскольку это функция? Этот момент такж…

Основываясь на дереве регрессии, сформированном CART, а также на предварительной и последующей обрезке дерева, код выглядит следующим образом:…

Откат Обновление в режиме онлайн с версии Centos (CentOS Linux версии 7.3.1611 (Core) до CentOS Linux версии 7.5.1804 (Core)) # ошибка соединения yum-ssh после обновления yexpected key exchange group …

Инструкция для устройств Apple

  • Пароль для root необходим пользователю для того, чтобы он смог получить полный доступ к своему устройству. В связи с этим его назначение при установке системы представляет собой одну из важнейших операций.
  • Учётную запись root можно сравнить с учётной записью «Администратор» в ПК или ноутбуке. Её применяют для администрирования и обслуживания ОС, установки RPM-обновлений и пакетов. Иными словами, root-пользователь может полностью контролировать всю систему.
  • Стороннее программное обеспечение, а также программы из AppStore не могут получить полный доступ, поскольку это регулируется самой системой, а также AppStore.
  • Однако следует учитывать, что в случае Jailbreak система является уязвимой, и сторонние программы могут проникнуть в систему и даже запустить произвольный код.
  • Именно так можно получить удалённый доступ к чужому мобильному устройству, учитывая, что пароль root по умолчанию одинаков для всех (alpine).
  • Итак, он нуждается в сбрасывании и изменении. Для начала устанавливают программу Mobile Terminal из Cydia и запускают её. Вводят команду su root и стандартный пароль alpine (на дисплее он не отображается в целях безопасности).
  • После этого прописывают команду passwd и свой новый пароль. Если Jailbreak-а нет, смена пароля совершенно необязательна.

Настройка

Использование visudo

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

Важно:

Крайне важно, чтобы файл был без синтаксических ошибок! Любая ошибка делает sudo неработоспособным
Всегда редактируйте его только с помощью для предотвращения ошибок.
Из : Обратите внимание, что это дыра в безопасности, поскольку позволяет пользователю запускать любую программу, какую он захочет, просто прописав её в VISUAL или EDITOR.. visudo использует в качестве текстового редактора по умолчанию
В core репозитории sudo скомпилирована с по умолчанию и использует переменные и

не используется, если задана переменная .

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

Чтобы сделать nano редактором visudo в течение текущего shell сеанса, задайте и экспортируйте переменную перед тем, как выполнять visudo.

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

# EDITOR=nano visudo

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

# Сброс окружения
Defaults      env_reset
# Установка nano в качестве редактора по умолчанию и запрет visudo использовать EDITOR/VISUAL.
Defaults      editor=/usr/bin/nano, !env_editor

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

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

имя_пользователя   ALL=(ALL) ALL

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

имя_пользователя   название_хоста=(ALL) ALL

Предоставить членам группы доступ sudo:

%wheel      ALL=(ALL) ALL

Чтобы не спрашивать пароль у пользователя:

Defaults:имя_пользователя      !authenticate

Разрешить выполнять только конкретные команды и только пользователю на определенном хосте:

имя_пользователя название_хоста=/usr/bin/halt,/usr/bin/poweroff,/usr/bin/reboot,/usr/bin/pacman -Syu

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

Разрешить выполнять конкретно определённые команды только для пользователя на определенном хосте и без пароля:

имя_пользователя название_хоста= NOPASSWD: /usr/bin/halt,/usr/bin/poweroff,/usr/bin/reboot,/usr/bin/pacman -Syu

Права доступа к файлам sudoers по умолчанию

Файл должен иметь владельца root и группу root (0). Права доступа всегда должны быть установлены как (0440). Эти права установлены по умолчанию, однако если вы случайно измените их, они должны быть немедленно изменены обратно, иначе sudo не будет работать.

# chown -c root:root /etc/sudoers
# chmod -c 0440 /etc/sudoers

Время действия введённого пароля

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

Defaults:имя_пользователя timestamp_timeout=время_в_минутах

Например, чтобы установить тайм-аут на 20 минут:

Defaults:имя_пользователя timestamp_timeout=20

Совет: Если вы хотите чтобы sudo всегда требовал ввод пароля, установите равным 0. Чтобы срок действия пароля никогда не истекал, установите любое отрицательное значение.

Повышение пользовательских прав командой sudo

Существует более современный способ повышения пользовательских прав с помощью команды sudo (substitute user and do — подменить пользователя и выполнить).

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

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

От имени root:
yum install -y wget

При помощи sudo:
sudo yum install -y wget

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

$ sudo yum install -y wget
 password for test: 
test is not in the sudoers file.  This incident will be reported.

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

From [email protected]  Sat Feb 11 20:19:12 2017
Return-Path: <[email protected]>
X-Original-To: root
Delivered-To: [email protected]
Received: by test2.localdomain (Postfix, from userid 0)
        id CD2AF8051BC; Sat, 11 Feb 2017 20:19:12 +0300 (MSK)
To: [email protected]
From: [email protected]
Auto-Submitted: auto-generated
Subject: *** SECURITY information for test2 ***
Message-Id: <[email protected]>
Date: Sat, 11 Feb 2017 20:19:12 +0300 (MSK)

test2 : Feb 11 20:19:12 : test : user NOT in sudoers ; TTY=pts/0 ; PWD=/home/test ; USER=root ; COMMAND=/bin/yum install wget

Для того чтобы пользователь мог выполнять sudo, его надо внести в файл sudoers. Сделать это можно двумя способами.

Первый способ — внесение имени пользователя непосредственно в сам файл /etc/sudoers. Для изменения файла sudoers, требуется обладать правами root.

nano /etc/sudoers
 
Находим строку:
root    ALL=(ALL)	ALL
 
Добавляем под нее имя пользователя, которому будет разрешен доступ к sudo:
root    ALL=(ALL)	ALL
test    ALL=(ALL)	ALL
 
Сохраняем и выходим.

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

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

Вносим пользователя в группу wheel:
usermod -a -G wheel techlist_1
 
Проверяем:
id techlist_1
uid=1001(techlist_1) gid=1004(techlist_1) группы=1004(techlist_1),10(wheel)
 
Перезагружаем систему:
reboot

После перезагрузки системы, пользователь внесенный в группу wheel, сможет выполнять sudo.

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

$ sudo -i
 password for test: 
# 

Возвращение в свое пользовательское окружение, происходит при помощи команды exit.

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

Отключить ввод пароля для пользователей принадлежащих к группе wheel:

Открываем для внесения изменений:
nano /etc/sudoers
 
Находим строку:
# %wheel        ALL=(ALL)	NOPASSWD: ALL
 
Раскомментировать строку:
%wheel        ALL=(ALL)	NOPASSWD: ALL
 
 
Сохраняем изменения и выходим.

Отключить ввод пароля для пользователей добавленных вручную:

Открываем для внесения изменений:
nano /etc/sudoers
 
Находим строку с нужным пользователем:
test    ALL=(ALL)     ALL
 
Изменяем ее:
test    ALL=(ALL)     NOPASSWD: ALL
 
Сохраняем изменения и выходим.

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

Для просмотра руководства по настройке sudo, выполняется команда:

Посмотреть руководство sudo:
man sudoers
 
Выйти из руководства:
q
 
Посмотреть список дополнительных опций команды:
sudo -h
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: