Linux запуск терминала от root

Права суперпользователя Linux

Как вы знаете, Linux очень серьезно относится к управлению пользователями и предоставлению им прав на работу с системой. Обычный пользователь может записывать файлы только в свой каталог и каталог /tmp/. Также есть возможность читать некоторые файлы в корневой файловой системе. Но вы не можете устанавливать программы, ведь для этого нужно право на запись, не можете изменять атрибуты файлов, не можете запускать сервисы, не можете читать некоторые файлы логов и еще много чего не можете.

В Linux управлять корневой файловой системой и создавать там файлы имеет право только пользователь root.

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

Права суперпользователя в Linux

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

  • Читать, писать и изменять атрибуты файлов в своем каталоге
  • Читать, писать, изменять атрибуты файлов в каталоге /tmp
  • Выполнять программы там, где это не запрещено с помощью флага noexec
  • Читать файлы, для которых установлен флаг чтения для всех пользователей.

Если же нужно сделать что-то большее нам понадобятся права root пользователя linux. У root есть право делать все в вашей файловой системе независимо от того какие права установлены на файл.

Вход под суперпользователем

Чтобы войти под пользователем root можно переключиться в одну из виртуальных консолей, например, с помощью сочетания клавиш Ctrl+Alt+F1 и затем ввести логин root и пароль root пользователя.

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

Можно поступить полностью противоположным путем, ввести логин root и его пароль в графическом менеджере входа, чтобы окружение рабочего стола работало от имени root, и мы получаем все права root linux, но такой вариант крайне не рекомендованный, и очень опасный, вы можете случайно повредить всю систему. Поэтому этот способ был отключен во многих менеджерах входа.

Читайте также:  Линукс минт форматирование флешки

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

Теперь мы подошли к более интересному и практичному. С помощью специальных утилит вы можете переключить текущий эмулятор терминала в окружения суперпользователя и выполнять все следующие команды не от своего имени, а от его, таким образом, дав программе права root linux. Для этого существует утилита su. Вообще говоря, эта утилита позволяет не только переключаться на пользователя root но и на любого другого пользователя, но по умолчанию используется именно root. Рассмотрим ее подробнее. Команда su linux имеет следующий синтаксис:

$ su опции пользователь

  • -c, —command — выполнить команду
  • -g, —group — установить основную группу пользователя (только для root)
  • -G —supp-group — дополнительные группы пользователя (только для root)
  • -, -l, —login — режим входа, будут очищены и инициализированы с учетом нового пользователя все переменные окружения, а также изменен домашний каталог
  • -p, —preserve-environment — сохранить переменные окружения
  • -s, —shell — задать оболочку для входа
  • —version — отобразить версию программы.

Теперь немного поэкспериментируем, чтобы понять как работает команда su linux.

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

Теперь смотрим что получилось:

whoami
pwd
echo $VAR
echo $PATH
exit

sudo

Из этих команд мы видим, что теперь мы пользователь root, но домашней директорией считается директория нашего предыдущего пользователя и наша переменная не сохранилась также изменилась переменная PATH, теперь там добавлен путь /sbin.

Теперь используем вход в режиме логина:

И повторим ту же комбинацию:

whoami
pwd
echo $VAR
echo $PATH
exit

sudo1

Та же ситуация, только на этот раз изменена ко всему еще и домашняя директория на директорию root. Но мы можем сохранить наши переменные окружения, если это нужно, для этого есть опция -p:

sudo2

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

sudo3

Более подробно о команде su вы можете почитать в отдельной статье. Получение прав суперпользователя таким способом используется во многих дистрибутивах, например, Debian, OpenSUSE, ArchLInux, Gentoo и т д. Но в Ubuntu, как дистрибутиве для начинающих вход под пользователем root отключен. Это сделано потому, что это тоже не очень безопасно, вы можете забыть что выполняете команду от root и что-то натворить в системе. Поэтому переходим к следующей программе.

Получение прав root без переключения

Чтобы реализовать максимально безопасный интерфейс для работы с правами суперпользователя в Linux была разработана команда sudo. Давайте рассмотрим что такое sudo. Эта команда пишется перед каждой командой, которую нужно выполнить от имени суперпользователя, и для ее выполнения нужно ввести пароль уже не root, а всего лишь вашего пользователя. Так же, как и в предыдущей, в этой утилиты есть свои опции. Сначала рассмотрим синтаксис:

Читайте также:  Графические системы для linux

$ sudo опции команда

  • -b — выполнять запускаемую утилиту в фоне
  • -E — сохранить переменные окружения
  • -g — запустить команду от группы
  • -H — использовать домашний каталог
  • -l — показать список полномочий в sudo для текущего пользователя
  • -r — использовать для команды роль SELinux
  • -s — использовать оболочку
  • -u — запустить команду от имени пользователя, если не задано используется root
  • -i — не выполнять команду, а войти в оболочку, эквивалентно su —

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

Использование sudo — это рекомендованный способ выполнять команды от имени суперпользователя в Linux. Так вы не забудете с чем имеете дело и меньше всего рискуете повредить систему. Более подробно о команде sudo читайте здесь. Но остался еще один нерешенный вопрос — как быть с графическими утилитами? Ведь команда sudo их не запускает, а запускать графическую оболочку от имени root небезопасно. Это мы и рассмотрим далее.

Графически приложения от имени суперпользователя

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

Просто наберите gksu или kdesu, а затем нужную команду:

Эта команда запустит файловый менеджер KDE с правами суперпользователя. В Gnome это будет выглядеть вот так:

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

Выводы

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

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Всегда запускать терминал от имени пользователя root (sudo) в Ubuntu

При работе с командной строкой Ubuntu, Терминалом, мы сталкиваемся с ситуациями, которые требуют, чтобы мы снова и снова входили в систему как root. Ubuntu делает это для защиты нашей системы, чтобы избежать любого пользователя или скрипта, открывающего Терминал для любых вредоносных действий, которые подвергают риску вашу конфиденциальность и систему. Root дает гораздо больше доступа к командной строке, чем нужно обычному пользователю. Когда root в действии, функции, которые делают Ubuntu более безопасной, больше не работают для вас. Только подумайте о том, чтобы запустить веб-браузер от имени root!

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

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

Читайте также:  Xrdp red hat linux

Сначала более безопасная альтернатива

Вы можете захотеть избежать ввода пароля для множества команд, требующих привилегий sudo, в одном сеансе Терминала. Самый безопасный подход в этом случае — использование команды sudo -i. Откройте Терминал либо через поиск в Пуске приложений, либо сочетанием клавиш Ctrl+Alt+T. Затем введите вышеупомянутую команду следующим образом:

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

После выполнения всех команд выйдите из интерпретатора root, введя команду exit:

использование sudo -i

Теперь вы выйдете из системы под пользователем root и продолжите работать как обычный пользователь Ubuntu.

Запуск Терминала в режиме root

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

Сначала откройте Терминал и откройте файл sudoers следующим образом:

Добавьте следующую строку в конец файла:

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

Редактирование разрешений sudo с помощью команды visudo

Сохраните файл, используя сочетание клавиш Ctrl+x.

Теперь настало время поработать с сочетаниями клавиш. Сначала мы отключим стандартное сочетание клавиш, открывающее Терминал. Откройте вид «Keyboard shortcuts» в Настройках системы. Затем в разделе «Launchers» нажмите на ярлык «Launche terminal».

Установите сочетание клавиш

В открывшемся окне нажмите backspace, чтобы отключить этот ярлык.

Теперь создайте новый ярлык, нажав «Add Shortcuts» в нижней части представления «Custom Shortcuts».

Custom Shortcuts

Введите следующую информацию в представлении Добавить пользовательский ярлык:

Команда: sudo gnome-terminal

Добавить пользовательский ярлык

Затем установите ярлык как ctrl+Alt+T. Нажмите кнопку Добавить, и новый ярлык станет активным.

Теперь, когда вы захотите запустить терминал от имени root, используйте сочетание клавиш Ctrl+Alt+T для его запуска.

Использование терминала root

На изображении выше видно, что я запустил команду apt-get update без необходимости указывать sudo и пароль.

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

Похожие записи:

Источник

Оцените статью
Adblock
detector