4-Ways-to-Disable-Root-Account-in-Linux

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

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

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

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

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

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

 

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

# useradd -m -c "Admin User" admin
# passwd admin

 

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

# usermod -aG wheel admin #CentOS/RHEL
# usermod -aG sudo admin #Debian/Ubuntu 

 

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

# su admin

 

 

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

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

$ sudo vipw

 

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

root:x:0:0:root:/root:/bin/bash

 

на

root:x:0:0:root:/root:/sbin/nologin

 

Change-root-User-Shell

 

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

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

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

 

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

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

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

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

$ sudo mv /etc/securetty /etc/securetty.orig
$ sudo touch /etc/securetty
$ sudo chmod 600 /etc/securetty

 

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

 

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

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

$ sudo vim /etc/ssh/sshd_config

 

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

Disable-Root-Login-in-SSh

 

 

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

$ sudo systemctl restart sshd 

 

или

$ sudo service sshd restart 

 

Как вы уже знаете, этот метод влияет только на набор инструментов 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/, как показано ниже:

$ sudo vim /etc/pam.d/login

 

или

$ sudo vim /etc/pam.d/login

 

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

auth required pam_listfile.so \
onerr=succeed item=user sense=deny file=/etc/ssh/deniedusers

 

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

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

$ sudo vim /etc/ssh/deniedusers

 

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

$ sudo chmod 600 /etc/ssh/deniedusers

 

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

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

$ man pam_securetty
$ man sshd_config
$ man pam

 

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

 

 

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

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

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

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

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
Аутентификация

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

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

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

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

Most Viewed Posts
Меню