Как дать права root пользователю Linux Ubuntu

1 февраля запускаем «Paranoid Rebirth» — курс по анонимности и безопасности от команды Кодебай

Что такое Linux?

Linux — это ядро операционной системы. Возможно, вы слышали о UNIX. Ну, так вот, Linux — это клон UNIX.  Он был создан Линусом Торвальдсом из Scratch. Linux является бесплатным и имеет открытый исходный код — вы можете просто изменить что-либо в Linux и распространять это под своим названием! Существует несколько сборок на основе Linux, обычно называемых дистрибутивами.

  • Ubuntu Linux
  • Red Hat Enterprise Linux
  • Linux Mint
  • Debian
  • Fedora

Linux в основном используется на серверах. Около 90% интернета работает на серверах Linux и вот почему.

Linux бесплатный,а основной проблемой использования Windows-серверов является их стоимость. Linux быстрый: ОС, которая работает примерно на 80% смартфонов в мире, Android, также сделана из ядра Linux. Linux безопасный, а большинство вирусов в мире работают на Windows.  

Запускаем «Терминал» в Linux

Абсолютно каждый метод запуска «Терминала» в любом из дистрибутивов Linux не занимает много времени, а чаще всего выполняется буквально в несколько кликов. Сегодня в качестве примера мы рассмотрим Ubuntu. Если вы обладаете другой ОС, не беспокойтесь, поскольку почти нигде нет каких-либо различий, а если они и имеются, то самые минимальные, и о них мы обязательно расскажем в методах.

Запускаем «Терминал» в Linux

Способ 1: Стандартная комбинация клавиш

Запускаем «Терминал» в Linux

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

Запускаем «Терминал» в Linux

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

Запускаем «Терминал» в Linux

Способ 2: Утилита «Выполнить»

Запускаем «Терминал» в Linux

Способность применить этот метод зависит от установленного окружения. Практически во всех привычных графических оболочках он функционирует корректно, поэтому его обязательно следует попробовать. Принцип заключается в вызове утилиты «Выполнить», что производится зажатием комбинации Alt + F2.

Запускаем «Терминал» в Linux

В появившейся строке достаточно будет вписать gnome-terminal или konsole, что зависит от типа используемой оболочки.

Запускаем «Терминал» в Linux

После этого вы увидите, как сразу же отобразится новое окно «Терминала».

Запускаем «Терминал» в Linux

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

Запускаем «Терминал» в Linux

Способ 3: Контекстное меню директорий

Запускаем «Терминал» в Linux

Большинство графических оболочек имеют контекстное меню, которое вызывается путем нажатия ПКМ по свободному месту в любой директории. Одним из пунктов называется «Открыть в терминале» или «Открыть терминал». Именно это мы и рекомендуем использовать в качестве отдельного способа запуска консоли. Особенно актуально это в тех случаях, когда вы хотите запустить новую консоль в необходимом расположении.

Запускаем «Терминал» в Linux

Способ 4: Главное меню ОС

Запускаем «Терминал» в Linux

Строение практически всех окружений гарантирует наличие главного меню приложений, откуда можно запускать установленные и стандартные программы, включая консоль. Откройте главное меню удобным для вас образом и отыщите там «Терминал». Если просто найти его не получается, воспользуйтесь строкой поиска. Щелкните ЛКМ для запуска, и теперь вы можете смело приступать к вписыванию команд. Если потребуется создать новую сессию, вернитесь в главное меню и проделайте те же самые действия.

Запускаем «Терминал» в Linux

Способ 5: Виртуальная консоль

Запускаем «Терминал» в Linux

Этот вариант подойдет далеко не всем юзерам, поскольку он используется исключительно для перехода между виртуальными системными консолями. Дело в том, что при запуске операционной системы создается целых семь таких командных строк, последняя из них реализует графическую оболочку, поэтому пользователь видит только ее. При необходимости можно переключаться к другим терминалам, используя горячие клавиши Ctrl + Alt + F1/Ctrl + Alt + F6.

Запускаем «Терминал» в Linux

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

Запускаем «Терминал» в Linux

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

Читайте также:  На что способны App Clips — главная фишка iOS 14

Перейти к прочтению официальной документации Ubuntu на официальном сайте

Способ 6: Строка «Избранное»

Пользователи Windows предпочитают закреплять важные приложения на панели задач, чтобы в необходимый момент быстро их запускать. В графических оболочках Linux эта функция тоже реализована, но сама строка называется «Избранное». Если «Терминал» изначально там отсутствует, предлагаем добавить его следующим образом:

  1. Откройте главное меню и отыщите там консоль. Кликните по ней правой кнопкой мыши.
  2. В появившемся контекстном меню используйте строку «Добавить в избранное».
  3. После этого вы увидите, что консоль была добавлена на соответствующую панель. При необходимости можно поместить туда сразу несколько значков.

Подробнее о группе администратора и группе sudo на сервере Ubuntu

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

# grep -B1 -i ‘^%sudo’ /etc/sudoers

ИЛИ

$ sudo grep -B1 -i ‘^%sudo’ /etc/sudoers

Примеры возможных выводов данных:

# Allow members of group sudo to execute any command %sudo    ALL=(ALL:ALL) ALL

Давайте посмотрим на некоторые практические примеры.

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

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

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

Создадим файл с именем пользователя

sudo nano /etc/sudoers.d/petya

Добавим в него строку

petya ALL=NOPASSWD: /sbin/shutdown -h now

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

Данный метод хорош тем что вы четко указываете пользователю на что именно он будет иметь высокие привилегии. Ибо давать всем права root плохая идея. В одном файле перечисляются все необходимые права через запятую.

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

petya ALL=NOPASSWD: /sbin/shutdown -h now, /usr/bin/apt-get update, /usr/bin/apt-get upgrade

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

Тем же методом можно дать права группе. Например дадим права группе users

%users ALL=NOPASSWD: /sbin/shutdown -h now, /usr/bin/apt-get update, /usr/bin/apt-get upgrade

%users – вначале идет знак % далее название группы, в данном случае users

Почитать про то как использовать sudo без терминала можно тут

Всем спасибо за внимание и до новых встреч.

Поделиться:

Ошибки при сборке программы

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

Ошибки при сборке программы

После того как вы установите необходимые зависимости, снова необходимо запустить ./configure. А может быть и так, что у вас не будет файла ./configure, попробуйте запустить другие скрипты:

./bootstrap ./

Ошибки при сборке программы

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

aclocal autoheader automake —gnu —add-missing —copy —foreign autoconf -f -Wall

Ошибки при сборке программы

В случае с дистрибутивами Arch/Manjaro необходимые пакеты вы можете подгрузить используя “Менеджер программ”, Предварительно не забыв подключить репозиторий AUR:

Пример необходимых зависимостей при установки в Manjaro программы Blender. Компиляция производилась с использованием файла PKGBUILD:

Как отзвать привелегии суперпользователя

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

sudo deluser ИМЯ_ПОЛЬЗОВАТЕЛЯ sudoУдаление пользователя из группы sudo

Как отзвать привелегии суперпользователя

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

su testuser sudo whoamiПроверяем отсутствие прав суперпользователя

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

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

Как отзвать привелегии суперпользователя

18 630Rate this item: Rating↓ Ещё по теме

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

    Здравствуй, дорогой читатель, если у тебя возникла необходимость поменять пароль суперпользователя в…

  • Linux выручит при отсутствии линейки

    Что делать, если нужно воспользоваться линейкой, но ее нету под рукой? Linux…

  • Слушаем Наше Радио в Linux

    Наслаждаемся хорошей музыкой и малым потреблением оперативной памяти. Для просулушивания интернет-радио есть…

  • Установка ADB в Ubuntu

    Описание процесса установки Android Device Bridge в Ubuntu В центре приложений Ubuntu…

Редактирование файла sudoers

Чтобы добавить пользователей в список людей, которые могут использовать sudo , вам нужно отредактировать файл sudoers . Жизненно важно, чтобы вы делали это только с помощью команды visudo . Команда visudo позволяет нескольким людям пытаться редактировать файл sudoers одновременно. Он также выполняет проверку синтаксиса и анализирует содержимое файла при его сохранении.

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

Хотя вы начинаете процесс редактирования с помощью команды visudo , visudo не является редактором. Он вызывает один из существующих редакторов для редактирования файла. В Manjaro и Ubuntu команда visudo запустила простой редактор nano . На Fedora visudo выпустила более способный, но менее интуитивно понятный vim .

СВЯЗАННЫЕ: Как выйти из редактора Vi или Vim

Если вы предпочитаете использовать nano в Fedora, вы можете сделать это легко. Сначала установите nano :

sudo dnf установить нано

И тогда visudo должен был быть вызван с этой командой:

Редактор sudo = nano visudo

Это выглядит как хороший кандидат на псевдоним . nano редактор открывается с загруженным файлом sudoers.

Основные параметры

Отключаем введение при первом использовании:

Основные параметры

Суперпользователь не может выполнять sudo:

Читайте также:  Linux Mint 20 «Ульяна»: новые функции и дата выпуска

Теперь если вы попытаетесь выполнить sudo sudo ничего не сработает:

Основные параметры

Изменять домашнюю директорию для целевого пользователя, по умолчанию остается папка текущего пользователя в качестве домашней директории:

Сохранять список групп текущего пользователя:

Основные параметры

Запрашивать пароль суперпользователя вместо пароля пользователя:

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

Основные параметры

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

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

Основные параметры

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

Defaults passprompt=»Ваш пароль:»

Основные параметры

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

Вы можете записывать в лог все попытки подключения к sudo:

Основные параметры

Затем пробуем проверить работу лога:

sudo cat /var/log/sudo

Основные параметры

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

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

Основные параметры

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

%wheel ALL = (ALL) ALL

Основные параметры

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

%wheel ALL = (root) ALL

Основные параметры

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

%wheel ALL = (root:admins) ALL

Основные параметры

Это значит что можно выполнить команду от имени root или другого пользователя из группы admins. Еще мы можем указать команды, которые может выполнять пользователь. Например:

%wheel ALL = (root) /bin/mount, /bin/umount

Основные параметры

Пользователь может выполнять только команды mount и umount от имени суперпользователя. Теперь сделаем еще интереснее, пользователь может выполнять mount и umount без пароля, а все остальные команды с паролем:

%wheel ALL = (root) ALL %wheel ALL = (root) NOPASSWD: /bin/mount, /bin/umount

Основные параметры

Также можно ограничивать пользователям по хостах, например, разрешаем использование sudo только из host1:

%wheel host1 = (root) ALL

Основные параметры

Осталось еще рассмотреть как применять псевдонимы. Псевдонимы могут быть таких типов:

Например, создадим четыре псевдонима и применим их в нашем правиле:

Основные параметры

User_Alias Users = user1,user2,user3 Runas_Alias Admins = root,admin Host_Alias Hosts = host1,host2 Cmd_Alias Cmds = /bin/mount,/bin/umount

Далее применяем все это в правиле:

Основные параметры

Users Hosts = (Admins) Cmds

Это значит, что пользователи из списка Users смогут выполнять команды Cmds от имени пользователей Amdins на хостах Hosts.

Основные параметры

Еще осталось сказать несколько слов о флагах. Флаг NOPASSWD говорит, что не нужно запрашивать пароль при выполнении этого правила. Например, разрешить всем пользователям выполнять команду mount с sudo без пароля:

ALL ALL = (root) NOPASSWD: /bin/mount

Также можно запретить выполнять именно эту команду вообще с помощью флага NOEXEC:

ALL ALL = (root) NOEXEC /bin/mount

Вы можете проверить правильно ли была проведена настройка файла /etc/sudores и посмотреть все созданные правила с помощью команды:

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