Как выдать права sudo linux

Содержание
  1. Sysadminium
  2. Утилита sudo в Linux
  3. Настройка и использование sudo в Linux
  4. Даём права на sudo включая пользователя в группу sudo
  5. Даём права на sudo редактируя конфигурационный файл
  6. Тонкая настройка прав
  7. Дополнительные опции утилиты sudo
  8. ИТ База знаний
  9. Полезно
  10. Навигация
  11. Серверные решения
  12. Телефония
  13. Корпоративные сети
  14. Как использовать команду sudo в Linux
  15. Бесплатный вводный урок на онлайн курс по Linux
  16. Как использовать команду sudo
  17. Установка sudo
  18. Синтаксис
  19. Опции
  20. Предоставление привилегий sudo
  21. RedHat и CentOS
  22. Debian и Ubuntu
  23. Использование visudo и группы sudoers
  24. Тайм-аут пароля sudo
  25. Примеры sudo в Linux
  26. Основное использование Sudo
  27. Выполнить команду от имени другого пользователя
  28. Переключиться на root пользователя
  29. Выполнить предыдущие команды с помощью sudo
  30. Запуск нескольких команд в одной строке
  31. Добавить строку текста в существующий файл
  32. Заключение
  33. Бесплатный вводный урок на онлайн курс по Linux
  34. Полезно?
  35. Почему?

Sysadminium

База знаний системного администратора

Утилита sudo в Linux

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

Настройка и использование sudo в Linux

В прошлых статьях этого курса мы говорили про разницу между Ubuntu и Debian в том, что по умолчанию в:

  • Ubuntu – нельзя переключиться на пользователя root, зато установлена утилита sudo и административные действия можно выполнять используя эту утилиту таким образом:
  • Debian – root пользователь активен, и для выполнения административных действий нужно на него переключиться, а утилита sudo не установлена:

Пришло время поближе познакомиться с утилитой sudo в Linux. В Ubuntu она уже установлена а в Debian её нужно установить таким образом:

Основным конфигурационным файлом для этой утилиты является файл /etc/sudoers, посмотрим на него:

В самом верху говориться о том, что редактировать вручную этот файл не нужно, для редактирования нужно использовать утилиту visudo. Рассмотрим остальные не закомментированные строки:

  • Defaults env_reset – сбрасывает все локальные переменные пользователя в оболочке sudo. Это повышает безопасность работы sudo в linux. Так как оболочка использует только стандартные системные переменные. А те переменные, которые создал пользователь, использоваться не будут.
  • Defaults mail_badpass – говорит системе отправлять уведомления о неудачных попытках ввода пароля sudo для настроенного пользователя mailto. По умолчанию это учетная запись root. То есть, если вы настроите почтовую систему для root пользователя, то будете на почту получать оповещения о неудачных попытках ввода пароля для sudo.
  • Defaults secure_path=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin” – здесь перечислены пути к каталогам, в которых будут искаться программы при выполнении команд с помощью sudo. То есть, вы вводите команду adduser, и файл программы adduser ищется в этих каталогах. А находится он здесь /usr/sbin/adduser.
  • root ALL=(ALL:ALL) ALL – в этой строке разберём по порядку каждое слово:
    • root – правило для пользователя root;
    • ALL = – применяется ко всем хостам;
    • (ALL:ALL) – root может выполнять команды от лица всех пользователей и групп;
    • ALL – правило работает для всех команд.
  • %sudo ALL=(ALL:ALL) ALL – здесь все также как и в предыдущей строке, но знак процентов (%) перед sudo означают, что это группа, а не пользователь. То есть группа sudo может на всех хостах, от имени любого пользователи или группы, выполнять любые команды.
  • @includedir /etc/sudoers.d – означает что в каталог /etc/sudoers.d можно положить дополнительные конфигурационные файлы.
Читайте также:  Автозапуск скриптов python linux

Даём права на sudo включая пользователя в группу sudo

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

Чтобы изменения применились нужно перезайти под пользователем alex. Проверим работу sudo:

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

Работая с sudo мы вводим пароль от своего пользователя (alex), а не от root. В примере выше я просто создал и удалил пользователя user3, чтобы продемонстрировать выполнение административных действий.

Даём права на sudo редактируя конфигурационный файл

Дать пользователю права на sudo можно не только включив его в группу sudo. Также вы можете отредактировать конфигурационный файл /etc/sudoers с помощью специальной утилиты visudo:

После чего вы начнете редактировать конфигурационный файл. Например, добавим следующую строку:

У нас должна получиться такая настройка:

Рядом с root пользователем создаём правило для пользователя alex. Чтобы сохранить файл и выйти из редактора нажмите Ctrl+x, а затем “y“.

Утилита visudo работает в режиме nano. Но в отличие от редактирования напрямую с помощью nano, утилита visudo открывает копию файла /etc/sudoers и перед сохранение файла проверяет его на корректность.

Теперь удалим пользователя alex из группы sudo:

Перезайдем в систему под alex, чтобы применились изменения:

И проверим, не потеряли ли мы права на sudo:

Как видим права остались!

Тонкая настройка прав

У меня в системе остались пользователи user1 и user2. Дадим им право обновлять систему, но другие административные действия они не должны выполнять.

И так, выполните команду sudo visudo , чтобы начать редактирование конфигурационного файла.

Объедините пользователей одним псевдонимом GR_APT:

В системах Debian и Ubuntu обновлять систему можно командами apt и apt-get (обновление системы мы будем изучать позже в этом курсе). Обе команды нужно объединить в одну команду-псевдоним APDATE:

И осталось разрешить GR_APT выполнять команды APDATE:

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

Разрешаем некоторым пользователям обновлять систему с помощью sudo

Проверим! Переключимся на пользователя user1 и попробуем выполнить обновление с помощью команды sudo apt update :

А теперь попробуем переключиться на root пользователя выполнив su:

Как видим, выполнять команду su пользователю user1 используя sudo нельзя.

Создать нового пользователя тоже не получится:

Получается мы дали пользователям user1 и user2 право использовать утилиту sudo, но только для команд apt и apt-get, чтобы обновлять Linux систему.

А ещё, редактируя конфигурационный файл /etc/sudoers, вы можете позволить пользователю выполнять команды под sudo без запроса своего пароля. Для этого перед разрешённой командой нужно указать NOPASSWD: :

Дополнительные опции утилиты sudo

По умолчанию, утилита sudo выполняет команды от пользователя root, но с помощью опций -u или -g можно выполнить команду от имени другого пользователя или группы, например:

Как видите, вначале мы выполнили команду от имени пользователя user1, а затем от имени группы user1. Во втором случае, пользователь у нас остался alex, а первичная группа стала user1.

Ещё одной полезной опцией является опция -i. Она позволяет, как бы, переключиться на пользователя. При этом нужно указать пользователя с помощью опции -u, без этого мы переключимся на root пользователя:

Читайте также:  Как заправлять картридж brother 2275

Источник

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Как использовать команду sudo в Linux

Sudo означает SuperUser DO и используется для доступа к файлам и операциям с ограниченным доступом. По умолчанию Linux ограничивает доступ к определенным частям системы, предотвращая компрометацию конфиденциальных файлов.

Бесплатный вводный урок на онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят начать карьеру администраторов Linux, расширить текущие знания и сделать уверенный щаг в DevOps

Команда sudo временно повышает привилегии, позволяя пользователям выполнять конфиденциальные задачи без входа в систему как пользователь root . В этом руководстве вы узнаете, как использовать команду sudo в Linux с примерами.

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

Установка sudo

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

Чтобы проверить есть ли у вас эта комманда введите sudo . Вы увидите справочное сообщение или сообщение о том что комнада не найдена.

Чтобы установить sudo используйте для Ubuntu и Debian:

или для CentOS и Fedora

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

Синтаксис

Опции

sudo можно использовать с дополнительными параметрами:

  • -h — отображает синтаксис и параметры команды
  • -V — отображает текущую версию приложения sudo
  • -v — обновить лимит времени на sudo без запуска команды
  • -l — перечисляет права пользователя или проверяет конкретную команду
  • -к — завершить текущие привилегии sudo

Дополнительные параметры можно найти с помощью ключа -h .

Примечание. Оставаться в системе как администратор ставит под угрозу безопасность сервера. Раньше администраторы использовали su (substitute user) для временного переключения на учетную запись администратора. Однако для команды su требуется вторая учетная запись пользователя и пароль, что не всегда возможно.

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

Предоставление привилегий sudo

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

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

RedHat и CentOS

В Redhat и CentOS wheel группа контролирует пользователей sudo . Добавьте пользователя в группу wheel с помощью следующей команды:

Замените [username] фактическим именем пользователя. Возможно, вам потребуется войти в систему как администратор или использовать команду su .

Debian и Ubuntu

В Debian и Ubuntu группа sudo (sudo group) контролирует пользователей sudo . Добавьте пользователя в группу sudo с помощью следующей команды:

Читайте также:  Kali linux войти под рутом

Использование visudo и группы sudoers

В некоторых современных версиях Linux пользователи добавляются в файл sudoers для предоставления привилегий. Это делается с помощью команды visudo .

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

Это откроет /etc/sudoers для редактирования. Чтобы добавить пользователя и предоставить полные права sudo , добавьте следующую строку:

Сохраните и выйдите из файла.

Вот разбивка предоставленных привилегий sudo :

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

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

По умолчанию sudo просит вас ввести пароль после нескольких минут бездействия. Изменить это время ожидания по умолчанию, можно отредактировав файл sudoers с помощью visudo и измените время ожидания, добавив строку как в примере, где 10 — это время ожидания, указанное в минутах:

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

Примеры sudo в Linux

Основное использование Sudo

1. Откройте окно терминала и попробуйте выполнить следующую команду:

2. Вы должны увидеть сообщение об ошибке. У вас нет необходимых разрешений для запуска команды.

3. Попробуйте ту же команду с sudo:

4. При появлении запроса введите свой пароль. Система выполнит команду и обновит репозитории.

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

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

2. Система должна отображать ваше имя пользователя. Затем выполните следующую команду:

3. Введите пароль для другого пользователя, и команда whoami запустится и отобразит другого пользователя.

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

Эта команда переключает вашу командную строку на оболочку BASH от имени пользователя root :

Ваша командная строка должна измениться на:

Значение имени хоста будет сетевым именем этой системы. Имя пользователя будет текущим именем пользователя, вошедшим в систему.

Выполнить предыдущие команды с помощью sudo

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

Это также работает со старыми командами. Укажите исторический номер следующим образом:

В этом примере повторяется 6-я запись в истории с командой sudo.

Запуск нескольких команд в одной строке

Соедините несколько команд вместе, разделенных точкой с запятой:

Добавить строку текста в существующий файл

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

Заключение

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

Бесплатный вводный урок на онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят начать карьеру администраторов Linux, расширить текущие знания и сделать уверенный щаг в DevOps

Полезно?

Почему?

😪 Мы тщательно прорабатываем каждый фидбек и отвечаем по итогам анализа. Напишите, пожалуйста, как мы сможем улучшить эту статью.

😍 Полезные IT – статьи от экспертов раз в неделю у вас в почте. Укажите свою дату рождения и мы не забудем поздравить вас.

Источник

Поделиться с друзьями
КомпСовет
Adblock
detector