4 способа отключить учетную запись root в Linux

4 способа отключить учетную запись root в Linux

Рубрики:

Linux, Аутентификация

Метки:

, , , , , , ,

Учетная запись root — это специальный аккаунт в UNIX-подобных системах с идентификатором (UID, User IDentifier) 0, владелец которого имеет право на выполнение всех без исключения операций. Эта учетная запись имеет доступ ко всем командам и файлам в системе с полными разрешениями на чтение, запись и выполнение. Она используется для выполнения любой задачи в системе; создавать/обновлять/получать доступ/удалять учетные записи других пользователей, устанавливать/удалять/обновлять пакеты программного обеспечения и многое другое.

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

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

В этой статье мы объясним четыре способа отключения учетной записи пользователя root в Linux.

 

Внимание. Прежде чем удалить доступ к учетной записи root, убедитесь, что вы создали административную учетную запись, способную использовать команду sudo для получения привилегий пользователя root, с помощью команды useradd и задали для этой учетной записи надежный пароль. Флаг -m означает создание домашнего каталога пользователя, а флаг -c позволяет указать комментарий:

 

Затем добавьте этого пользователя в соответствующую группу системных администраторов, используя команду usermod, где флаг -a означает добавление учетной записи пользователя, а флаг -G указывает группу для добавления пользователя (wheel или sudo в зависимости от вашего дистрибутива Linux):

 

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

 

 

1. Изменение оболочки пользователя root

Самый простой способ отключить вход для пользователя root — изменить его оболочку /bin/bash (или любую другую оболочку, которая разрешает вход пользователя) на /sbin/nologin, в файле /etc/passwd, который вы можете открытые для редактирования с использованием любого редактора командной строки, как показано ниже:

 

Измените строку:

 

на

 

 

Сохраните файл и закройте его.

С этого момента, когда пользователь root войдет в систему, он получит сообщение «Эта учетная запись в настоящее время недоступна». Это сообщение по умолчанию, но вы можете изменить его и установить собственное сообщение в файле /etc/nologin.txt.

Этот метод эффективен только для программ, для которых требуется учетная запись root пользователя для входа в систему, иначе sudo, ftp и почтовые клиенты всё ровно смогут получить доступ к учетной записи root.

 

2. Отключение root входа через консольное устройство (TTY)

Второй метод использует модуль PAM, называемый pam_securetty, который разрешает root-доступ только в том случае, если пользователь регистрируется в «защищенном» TTY, как определено в списке в /etc/securetty.

В приведенном выше файле вы можете указать, какие устройства TTY, к которым пользователь root может войти в систему. Отчистив этот файл, вы запретите вход в систему на любом устройстве, подключенном к компьютеру.

Чтобы создать пустой файл, выполните:

 

Этот метод имеет некоторые ограничения, он влияет только на такие программы, как логин, диспетчеры отображения (например, gdm, kdm и xdm) и другие сетевые службы, запускающие TTY. Такие программы, как su, sudo, ssh и другие связанные с ними средства openssh, всё еще будут иметь доступ к учетной записи root.

 

3. Запрет входа по SSH для Root

Самый распространенный способ доступа к удаленным серверам или VPS — через SSH чтобы заблокировать вход пользователя root в таком случае, вам нужно отредактировать файл /etc/ssh/sshd_config.

 

Затем раскомментируйте (если она закомментирована) директиву PermitRootLogin и установите её значение равным no, как показано на скриншоте ниже:

 

 

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

 

или

 

Как вы уже знаете, этот метод влияет только на набор инструментов openssh, это значит что такие программы, как ssh, scp, sftp, будут заблокированы от доступа к учетной записи root.

 

4. Ограничение доступа к службам через PAM

Подключаемые модули аутентификации (PAM) — это централизованный, подключаемый, модульный и гибкий метод аутентификации в системах Linux. PAM работает через модуль /lib/security/pam_listfile.so и обеспечивает большую гибкость в ограничении привилегий учетных записей root.

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

В этом случае мы хотим отключить доступ пользователей root к системе, ограничив доступ к login и службам sshd. Сначала откройте и отредактируйте файл для целевой службы в каталоге /etc/pam.d/, как показано ниже:

 

или

 

Затем добавьте конфигурацию приведённую ниже в оба файла:

 

Когда все будет готово, сохраните и закройте каждый файл. Затем создайте файл /etc/ssh/deniedusers, который должен содержать один элемент на строку.

Добавьте в него имя root пользователя, а затем сохраните и закройте его.

 

Также установите необходимые разрешения:

 

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

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

 

Вот и все! В этой статье мы объяснили четыре способа отключения входа пользователя root в Linux.

 

 

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

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасности от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, Аутентификация

Метки:

, , , , , , ,

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

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


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню