В дистрибутивах Linux пользовательские привилегии предоставляются путем открытия доступа к root. Наличие таких прав позволяет использовать функциональность операционной системы более широко и выполнять необходимые действия в корневом каталоге.
Давайте детально обсудим, что может суперпользователь в Linux, как настроить root и для чего нужна команда
- Предназначение root-прав в Linux
- Безопасность использования прав суперпользователя
- Команда sudo и примеры ее использования
- Переключение на суперпользователя
- Предоставление и отзыв прав суперпользователя
- Создание нового пользователя с root
- Для существующей учетной записи
- Откат прав суперпользователя
- What is a Root user?
- Unlock/lock root account
- How to change the root password (An alternative approach)?
- First, a Safer Alternative
- Launching the Terminal in root mode
- Root Login via Graphical Desktop Environment
- Root Login via Terminal
Предназначение root-прав в Linux
Права обычного пользователя в Linux крайне ограничены. Он может управлять только своим каталогом и открывать для чтения определенные файлы из корня. Доступ для их изменения или установки программ отсутствует, что делает привилегии суперпользователя крайне важными при настройке ОС и решении разных проблем. Обычный пользователь ограничивается следующим набором прав:
При наличии рут-прав у юзера появляется гораздо больше возможностей и расширяются границы взаимодействия с операционной системой. Становятся доступными любые действия со всеми папками и файлами.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Безопасность использования прав суперпользователя
Если с предназначением root-прав в Linux все понятно, то вот к безопасности их использования есть вопросы. В основном, относится это к серверным машинам, поскольку риск взлома домашнего компьютера очень мал, да и кому нужны файлы обычного пользователя, чтобы ради этого затевать процедуру взлома. Если вы используете Linux как обычную операционную систему, работаете с документами и стандартными программами, используйте root для установки приложений и защиты системы от случайных изменений, которые могут внести другие пользователи компьютера.
С серверной частью все гораздо сложнее, поскольку рут как таковой не предоставляет полной защиты. Часто используемые пароли взламываются путем перебора или поиском бэкдора. Поэтому не стоит полагаться исключительно на защиту паролем, если вы владеете файлами сайтов или используете сервер для других целей. Займитесь настройкой файрвола, если это повысит уровень защиты.
Команда sudo и примеры ее использования
тесно связана с root в Linux, поскольку отвечает за передачу прав суперпользователя и позволяет от его имени выполнять команды в Терминале. Существует несколько ее вариаций, использующихся при разных обстоятельствах. Подходит эта команда как для выполнения всего одного действия, так и для передачи прав на всю текущую сессию.

Самый простой пример использования – запуск программы от имени суперпользователя. Для этого вводится:
sudo program \ program – название приложения, которое вы хотите запустить
применяется для установки софта, команда в таком случае обретает вид:
sudo apt install program
В следующем разделе статьи речь пойдет о передаче прав суперпользователя, что тоже реализуемо при помощи . Я рассмотрю два полезных аргумента. Советую ознакомиться с ними, если хотите упростить выполнение действий через Терминал.
Переключение на суперпользователя
Еще раз уточню, что команда идеально подходит для получения необходимых привилегий без переключения учетной записи. Ее можно использовать как для выполнения одного действия, так и нескольких. Если вы желаете временно получить рут-права через эту команду, введите . В первом случае домашний каталог остается текущим, а во втором меняется на /root.
Примерно так же работает и команда , но она обладает дополнительными аргументами, которые следует уточнить:
Вы уже сами решайте, какой вариант хотите использовать, и готовы ли смириться со всеми ограничениями и недостатками, которые накладывает каждый из них.
Предоставление и отзыв прав суперпользователя
Каждому пользователю в Linux можно предоставить root-права, добавив его в соответствующую группу. Точно так же их можно и отнять, если вдруг это понадобится. Рассмотрю три варианта действий.
Создание нового пользователя с root
Допустим, что вы, единственный юзер в Linux, хотите создать еще одну учетную запись с правами суперпользователя. В таком случае алгоритм действий обретет следующий вид:

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

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

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

The system will ask you the password for root. Enter the password and hit Enter.
Ideally, you now will be able to see the “#” sign in front of your command prompt. This would mean that you are now logged in as root.

You can read later in the article about how to lock/unlock the root account.
Let us explain this with an example.

You can only edit it if you are logged in as root or if you are using the sudo command to temporarily avail root privileges.

We can make any changes to the file and save the changes by hitting Ctrl+X.
Note: It is very important to stay careful while making any sensitive changes to your system files while logged in as root. Any undue change to the system files can mess up with your entire system settings.

Unlock/lock root account

$ sudo passwd root

The system will ask you to enter a new UNIX password twice. After that, it will update the root password and the account will be unlocked.
$ sudo passwd -dl root

How to change the root password (An alternative approach)?
$ sudo -i
The system will prompt you to enter the current sudo password. Please enter the password and hit Enter.


Important: Before even explaining how you can launch the Terminal every time in sudo mode, we would like to emphasize as much as we can that it is a very unsafe thing to do.
Anyways, if you really, really are in dire need of a scenario where you want to avoid typing ‘sudo’ and its password with your commands, we will present a solution. But before that, we will also give you a safe alternative so that you can at least save yourself from typing your sudo password for one Terminal session.
We have run the commands and procedures mentioned in this article on a Ubuntu 18.04 LTS system.
First, a Safer Alternative


After you are done with running all the commands, exit the root prompt by typing the exit command:

Launching the Terminal in root mode
Although unsafe, here we will present a solution that ensures that you are already logged in as root whenever you open the Terminal.
$ sudo visudo

Save the file by using the Ctrl+x shortcut.
Now is the time to work with the keyboard shortcuts. We will first disable the default shortcut that opens the Terminal. Open the Keyboard shortcuts view from your system Settings. Then, from the Launchers section, click on the Launch Terminal shortcut.

At the above view, hit Space+backspace to disable this shortcut.
Command: sudo gnome-terminal

Then Set the shortcut as ctrl+Alt+T. Click the Add button and the new shortcut is active.
Now whenever you want to launch the Terminal as root, use the Ctrl+Alt+T shortcut to launch it.

In the above image, you can see that I ran the apt-get update command without having to specify sudo and its password.
Please do not forget to revert all these changes when you are done with the scenario that requires such a bold step to be taken. After all, the security of your files and your overall system is more important to you than having to type sudo and its password.
Root Login via Graphical Desktop Environment



Root Login via Terminal

Root Login via Terminal






