Red hat linux root

How to recover a root password in Red Hat-based Linux systems

Posted: February 25, 2020 | by Glen Newell

Photo by Soonios Pro from Pexels

More Linux resources

We’ve all inherited systems we didn’t have any part of building. If you are a systems administrator, the day will come when you need to work on a system and don’t have the root password for any number of reasons—and statistically speaking, that day will come at the worst possible moment: you need access to that box *right now*.

Recovering the root password might seem frightening, but it doesn’t have to be difficult or complicated. On a RHEL/CentOS version 7 or later system, thanks to the Grub bootloader it’s actually pretty simple.

Begin by starting a kettle of water to boil (Optional, but recommended).

First, you need console access: Either at a keyboard and monitor locally, or via Virtual Machine remote console, you will need to see and interact with the bootloader.

Reboot the machine: As soon as the bootloader comes up with the selection screen, quickly tap the up and down arrows up and down to pause the countdown.

Select the kernel you want to boot into, and hit ‘ e ‘: This will take you into a screen where you can edit the grub bootloader script.

Find the line that refers to the kernel: There will be a series of ‘boot parameters’ here: these are instructions passed during the loading of the kernel.

For RHEL/CentOS 7, the line starts with ‘linux16’.

For RHEL/Centos 8x, and Fedora the line starts with ‘ linux ‘.

Add ‘rd.break’ at the end of that line (There are other things you can do here, but for now, this is all you need) [ Note: This change is temporary ].

Now hit Ctrl-x to run the edited bootloader script.

You’ll boot to a ‘rescue’ prompt that looks like this: switch_root:/# .

Remount the root partition in read-write mode so that you can run commands. Enter the following: mount -o remount rw /sysroot and then hit ENTER.

Now type chroot /sysroot and hit enter. This will change you into the sysroot (/) directory, and make that your path for executing commands.

Now you can simply change the password for root using the passwd command.

Next, before you reboot, you will need to make sure that SELinux allows the file changes. At the prompt ,enter: touch /.autorelabel . This will signal SELinux on the next reboot that the filesystem has changed (the changed password) and allow the change to be loaded. This will cause the whole filesystem to be ‘relabeled’ which might take a while, depending on the size of the filesystem and the speed of the machine, so be aware of this possibility.

Type exit to leave the chroot environment and enter reboot .

Go and make a cup of tea to reward yourself for your cleverness: The water should be boiling now. (Again, optional but recommended and highly dependent on your participation with Step #1.)

And that’s it. You should now have root password access to this system.

Читайте также:  Mac os case sensitive file system

Want to try out Red Hat Enterprise Linux? Download it now for free.

Источник

Red hat linux root

Управляя домашним компьютером, пользователь должен выполнять некоторые действия под именем root или получить привилегии root, с помощью программ setuid , например sudo или su . Программы setuid — это программы, работающие с кодом пользователя ( UID ) владельца программы, а не запускающего их пользователя. В подробном списке файлов эти программы выделяются маленькой буквой s в разделе владельца, как показано ниже:

-rwsr-xr-x 1 root root 47324 May 1 08:09 /bin/su

Однако системные администраторы организации должны определить, какие административные права должны иметь пользователи на своих компьютерах. С помощью PAM-модуля pam_console.so некоторые действия, обычно разрешённые только пользователю root, например, перезагрузку и извлечение съёмных устройств, можно разрешить первому вошедшему на физическую консоль пользователю (обратитесь к главе Подключаемые модули проверки подлинности (PAM) Справочного руководства Red Hat Enterprise Linux за дополнительными сведениями о модуле pam_console.so ). Однако выполнение других важных административных задач, таких как изменение параметров сети, настройка новой мыши или подключение сетевых устройств невозможно без прав администратора. В результате системные администраторы должны решить, какие административные полномочия должны получить пользователи их сети.

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

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

Неверная настройка компьютера — Пользователи с правами root, могут неправильно настроить свои компьютеры, после чего им потребуется помощь, или, что ещё хуже, могут создать дыры в безопасности, не догадываясь об этом.

Запуск небезопасных служб — Пользователи с правами root могут запускать на своих компьютерах небезопасные службы, например FTP или Telnet, что ставит под угрозу их имена и пароли, передаваемые по сети открытым текстом.

Запуск почтовых вложений под именем root — Хотя вирусы для Linux — редкость, но всё же они есть. И они представляют собой угрозу, только если их запускает пользователь root.

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

Предотвращает вход в оболочку root и регистрирует попытки входа.
Следующие программы не смогут работать с учётной записью root:
· login
· gdm
· kdm
· xdm
· su
· ssh
· scp
· sftp

Программы, не использующие оболочку, например, клиенты FTP, почтовые клиенты и многие программы setuid.
Следующие программы смогут работать с учётной записью root:
· sudo
· клиентов FTP
· почтовых клиентов

Запрет доступа root с любых консольных устройств (tty). Пустой файл /etc/securetty не позволит root войти в систему с любых устройств, подключенных к компьютеру.

Предотвращает вход под именем root с консоли или по сети. Следующие программы не смогут работать с учётной записью root:
· login
· gdm
· kdm
· xdm
· другие сетевые службы, открывающие tty

Программы, которые не регистрируются под именем root, но выполняют административные задачи посредством setuid или других механизмов.
Следующие программы смогут работать с учётной записью root:
· su
· sudo
· ssh
· scp
· sftp
Читайте также:  Linux get network ips

Запрет входа root через SSH. Отредактируйте файл /etc/ssh/sshd_config и задайте параметр PermitRootLogin равным no .

Предотвращает доступ root с помощью набора инструментов OpenSSH. Следующие программы не смогут работать с учётной записью root:
· ssh
· scp
· sftp

Доступ root ограничен только для набора инструментов OpenSSH.

Используйте PAM для ограничения доступа root к службам. Отредактируйте файл нужной службы в каталоге /etc/pam.d/ . Убедитесь в том, что для проверки подлинности требуется pam_listfile.so . За подробностями обратитесь к разделу 4.4.2.4 Отключение root с помощью PAM .

Запрещает доступ root к сетевым службам, поддерживающим PAM.
С учётной записью root не будут работать следующие службы:
· клиенты FTP
· почтовые клиенты
· login
· gdm
· kdm
· xdm
· ssh
· scp
· sftp
· любые службы, поддерживающие PAM

Программы и службы, не поддерживающие PAM.

Таблица 4-1. Способы отключения учётной записи root

Чтобы запретить пользователям непосредственный вход под именем root, системный администратор может задать для root оболочку /sbin/nologin в файле /etc/passwd . Это предотвратит доступ к учётной записи root с помощью команд, использующих оболочку, например su и ssh .

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

Чтобы ещё больше ограничить доступ к учётной записи root, администраторы могут запретить вход под именем root с консоли, отредактировав файл /etc/securetty . В этом файле перечислены все устройства, с которых может регистрироваться root. Если файл не существует, пользователь root сможет войти в систему с любого устройства, будь то консоль или сетевой интерфейс. Это опасно, так как пользователь может входить в систему, используя Telnet, а при этом его пароль передаётся по сети в открытом виде. По умолчанию, в Red Hat Enterprise Linux файл /etc/securetty разрешает root подключаться только с физически подключенной к компьютеру консоли. Чтобы запретить вход root, очистите содержимое этого файла, выполнив следующую команду:

Пустой файл /etc/securetty не предотвращает удалённый доступ root с помощью набора инструментов OpenSSH, так как консоль открывается после проверки подлинности.

Чтобы запретить регистрацию root с использованием протокола SSH, отредактируйте файл настроек демона SSH ( /etc/ssh/sshd_config ). Измените строку, в которой написано:

PAM-модуль /lib/security/pam_listfile.so даёт большие возможности по отключению учётных записей. Администратор может указать для этого модуля список пользователей, не имеющих разрешения на вход. Ниже приведён пример использования модуля для демона FTP-сервера vsftpd в файле конфигурации PAM /etc/pam.d/vsftpd (символ \ в конце первой строке не нужен, если всё помещается в одной строке):

auth required /lib/security/pam_listfile.so item=user \ sense=deny file=/etc/vsftpd.ftpusers onerr=succeed

Это указание PAM прочитать файл /etc/vsftpd.ftpusers и закрыть доступ к службе перечисленным в нём пользователям. Администратор волен выбирать имя этого файла и вести отдельные списки для разных служб или использовать один список для запрета доступа к нескольким службам сразу.

Если администратор желает запретить доступ к нескольким службам, подобную строку можно добавить в конфигурацию PAM для этих служб, например, в /etc/pam.d/pop и /etc/pam.d/imap для почтовых клиентов или /etc/pam.d/ssh для клиентов SSH.

За дополнительной информацией о PAM, обратитесь к главе Подключаемые модули проверки подлинности (PAM) в Справочном руководстве Red Hat Enterprise Linux .

Вместо того, чтобы полностью закрывать доступ пользователю root, администратор может разрешить доступ только к программам setuid, например, к su или sudo .

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

Зарегистрировавшись с помощью команды su , пользователь является пользователем root и имеет все права администратора системы. Кроме этого, если пользователь стал root, с помощью команды su он может стать любым другим пользователем системы, не зная его пароля.

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

Проще всего это можно сделать, добавив пользователей в специальную административную группу wheel . Для этого выполните от имени root следующую команду:

usermod -G wheel

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

Чтобы проделать то же самое с помощью Менеджера пользователей , выберите в Главное меню (на панели) => Системные параметры => Пользователи и группы или введите в приглашении оболочки команду redhat-config-users . Перейдите на вкладку Пользователи , выберите пользователя из списка и щёлкните в контекстном меню Свойства (или выберите в главном меню Файл => Свойства ).

Затем перейдите на вкладку Группы и отметьте группу wheel, как показано на рисунке 4-2 .

Рисунок 4-2. Вкладка Группы

Затем откройте файл настройки PAM для команды su ( /etc/pam.d/su ) в текстовом редакторе и уберите комментарий [#] в следующей строке:

auth required /lib/security/pam_wheel.so use_uid

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

Предупреждение

Пользователь root по умолчанию включён в группу wheel .

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

Общий формат команды sudo показан ниже:

В этом примере нужно заменить командой, обычно выполняемой пользователем root user, например, mount .

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

Команда sudo даёт большую гибкость. Например, только пользователи, перечисленные в файле /etc/sudoers , могут выполнить команду sudo , и эта команда будет выполнена в оболочке пользователя , а не root. Это значит, что оболочка root может быть полностью отключена, как описано в разделе 4.4.2.1 Отключение оболочки root .

Команда sudo также ведёт исчерпывающий аудит. Каждая успешная попытка входа регистрируется в файле /var/log/messages , а выполненная команда, вместе с именем выполняющего её пользователя в файле /var/log/secure .

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

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

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

juan ALL=(ALL) ALL

В этом примере пользователь juan может использовать sudo с любого компьютера и выполнить любую команду.

В приведённом ниже примере показано, как можно очень тонко настраивать sudo :

%users localhost=/sbin/shutdown -h now

В данном примере любой пользователь, работающий на консоли, может выполнить команду /sbin/shutdown -h now .

Подробное описание параметров этого файла можно найти на странице man sudoers .

Источник

Читайте также:  Что такое структура окна windows
Оцените статью
Замечание