Линукс получить рут права

Linux superuser access, explained

Here’s how to configure Linux superuser access so that it’s available to those who need it—yet well out of the way of people who don’t need it.

Man working on computer with headphones

On Linux, everything starts at «root.» The hard drive has a root partition ( / ), and the default initial user (at least traditionally) is root (often referred to as the «superuser»). Historically, you used the root account to log in, create secondary «normal» users, and then mostly forget about it.

IT Automation ebook

These days, though, the root user is redundant to requirements. The Anaconda installer can create an initial user for you, and then you can perform «superuser» tasks with the sudo command. A computer’s admin must understand how to configure superuser access so that it’s well out of the way of people who don’t need it and available to those who require it.

Lock root at installation

An attacker with enough knowledge to attempt a break-in also knows that every Unix and Linux system once had a user called root . That’s one less guess an attacker must make when attempting unauthorized entry into a system. Locking down the root account is a significant foil to uninvited guests.

During installation, you have the option to lock the root account.

Locking the root account during installation

Locking the root account prevents you from logging in as the root user. If you do that, grant the user you create administrative privileges during user creation.

Granting administrative privileges during user creation

Making the user an admin adds that user to the special wheel group. By default, members of wheel can run any command with sudo with, essentially, root privilege. It seems nearly the same as using su to switch to the superuser account, but there are safeguards and advantages to sudo .

Disable root

If you didn’t lock the root account during installation, or if you’re unsure, then you can disable the root account later, as long as you have administrative privileges. If you don’t, then use the root account to add your user to the sudoers file and then use sudo to disable root.

To disable root, set the root shell to /sbin/nologin :

$ sudo sed -i 's_root:/bin/bash_root:/sbin/nologin_' /etc/passwd

Test your change by attempting to switch to the superuser account with su :

$ sudo su - [sudo] password for tux: This account is currently not available.

Training & certification

Delegate administration

The su command uses an all-or-nothing model. If you have the password for root, you get all the power. If you don’t have the password, you have no admin power. The problem with this approach is that a sysadmin must choose between handing over the master key to the system and withholding the key and all control of the system. That’s not always what you want. Sometimes you want to delegate.

Читайте также:  Steam вылетает при запуске linux

Suppose you want to grant a user permission to run a specific application, such as the groupadd command, that usually requires administrative permissions. You don’t want to give this user permission to do any administrative task. You just want to allow them to create new groups.

To grant selective privileges to a single command or a group of commands, edit /etc/sudoers with the visudo command. The visudo command assumes you want to edit text with vi but also allows you to override that default by setting the variable EDITOR :

Find the section of the sudoers file defining command permissions, and add the user and command you want to allow. For instance, to permit the user shadowman to run the groupadd command:

## Next comes the main part: which users can run what software on ## which machines (the sudoers file can be shared between multiple ## systems). ## Syntax: ## ## user MACHINE=COMMANDS ## ## The COMMANDS section may have other options added to it. ## ## Allow root to run any commands anywhere # root ALL=(ALL) ALL shadowman ALL=/sbin/groupadd

Test it out by switching to that user’s account and running the command:

$ su - shadowman Password: $ sudo groupadd qa [sudo] password for shadowman: $ sudo ls Sorry, user bogan is not allowed to execute '/bin/ls' as root on darkstar.sysadmin.local.

Sudo aliases

You can create aliases in the sudoers file to group hosts, commands, and users together. You could have, for instance, an admin group that could use commands such as useradd , groupadd , and usermod , and a software group that could use commands like dnf and rpm .

The sudoers file provides example syntax, but here’s an example of allowing all users in the Unix group softadmins to run all commands in the sudoer alias SOFTWARE :

## Installation and management of software Cmnd_Alias SOFTWARE = /usr/bin/dnf, /usr/bin/rpm softadmins ALL=SOFTWARE 

Protect your admin privileges

Everything from mission-critical machines to computers with customer data, and even your own humble personal laptop, are too important to casually lend the keys out to anyone who needs an escalation of privilege. Disable the root account to avoid broad permission escalation, and use the sudo command and a well-tended sudoers file to manage who can manage your computers.

Источник

Права суперпользователя root в Linux: полный обзор

Root sudo Linux

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

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

Предназначение root-прав в Linux

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

  • чтение, запись и изменение любых атрибутов пользовательской папки;
  • то же самое и для каталога /tmp ;
  • выполнение программ в любом месте, где нет ограничений;
  • чтение файлов с соответствующим атрибутом для всех пользователей.
Читайте также:  Linux find libraries loaded

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

Безопасность использования прав суперпользователя

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

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

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

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

Использование команды sudo в Linux

Самый простой пример использования sudo – запуск программы от имени суперпользователя. Для этого вводится:

sudo program \\ program – название приложения, которое вы хотите запустить

Еще sudo применяется для установки софта, команда в таком случае обретает вид:

Если же вы желаете использовать сразу несколько команд, например, введя sudo cat file.txt | grep text > file.txt , появится ошибка, поскольку при выполнении второй команды права суперпользователя отсутствуют, а значит, запись в файл невозможна. Решается такая ситуация добавлением sudo перед каждым выражением.

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

VDS Timeweb арендовать

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

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

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

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

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

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

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

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

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

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

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

sudo 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 

Предоставление прав суперпользователя существующей учетной записи в Linux

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

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

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

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

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

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

Источник

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