В корень account - это конечная учетная запись в Linux и других Unix-подобных операционных системах. Эта учетная запись имеет доступ ко всем командам и файлам в системе с полными разрешениями на чтение, запись и выполнение. Он используется для выполнения любых задач в системе; к создавать / обновлять / получать доступ / удалять учетные записи других пользователей, установить / удалить / обновить программные пакетыи многое другое.
Поскольку корень Пользователь обладает абсолютными полномочиями, любые действия, которые он выполняет, критичны для системы. В связи с этим любые ошибки со стороны корень пользователь может иметь огромное влияние на нормальную работу системы. Кроме того, этой учетной записью также могут быть злоупотребления, используя ее ненадлежащим или ненадлежащим образом, случайно, злонамеренно или из-за надуманного незнания политик.
Поэтому рекомендуется отключить root-доступ на вашем сервере Linux, вместо этого создать административную учетную запись, которая должна быть настроена для получения привилегий root-пользователя с помощью
команда sudo, для выполнения критических задач на сервере.В этой статье мы объясним четыре способа отключить вход в учетную запись пользователя root в Linux.
Внимание: Прежде чем заблокировать доступ к корень учетной записи, убедитесь, что вы создали учетную запись администратора, способную использовать команда sudo чтобы получить привилегии пользователя root, с команда useradd и дайте этой учетной записи надежный пароль. Флаг -м
означает создание домашнего каталога пользователя и -c
позволяет указать комментарий:
# useradd -m -c "Пользователь-администратор" admin. # пароль администратора.
Затем добавьте этого пользователя в соответствующую группу системных администраторов с помощью команда usermod, где переключатель -а
означает добавить учетную запись пользователя и -Г
указывает группу, в которую нужно добавить пользователя (wheel или sudo в зависимости от вашего дистрибутива Linux):
# usermod -aG wheel admin # CentOS / RHEL. # usermod -aG sudo admin # Debian / Ubuntu
После того, как вы создали пользователя с правами администратора, переключитесь на эту учетную запись, чтобы заблокировать root-доступ.
# su admin.
Самый простой способ отключить вход пользователя root - это изменить его оболочку с /bin/bash
или /bin/bash
(или любую другую оболочку, которая разрешает вход пользователя) в /sbin/nologin
, в /etc/passwd файл, который вы можете открыть для редактирования с помощью любого из ваших любимых редакторов командной строки, как показано.
$ sudo vim / etc / passwd.
Измените строку:
корень: x: 0: 0: корень: / корень: / bin / bash. к. корень: x: 0: 0: корень: / корень:/sbin/nologin
Сохраните файл и закройте его.
Отныне, когда корень пользователь входит в систему, он / она получит сообщение «Эта учетная запись в настоящее время недоступна.”Это сообщение по умолчанию, но вы можете изменить его и установить собственное сообщение в файле. /etc/nologin.txt.
Этот метод эффективен только с программами, которым требуется оболочка для входа пользователя, в противном случае судо, ftp и электронное письмо клиенты могут получить доступ к учетной записи root.
Второй метод использует PAM модуль называется pam_securetty, который разрешает root-доступ только в том случае, если пользователь входит в систему на «безопасный телетайп, как определено в /etc/securetty.
Приведенный выше файл позволяет указать, какие Телетайп устройств, на которых пользователю root разрешен вход, очистка этого файла предотвращает вход в систему 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.
Самый распространенный способ доступа к удаленным серверам или VPS - через SSH, и чтобы заблокировать вход пользователя root под ним, вам необходимо отредактировать /etc/ssh/sshd_config файл.
$ sudo vim / etc / ssh / sshd_config.
Затем раскомментируйте (если он прокомментирован) директиву PermitRootLogin и установите его значение на нет
как показано на скриншоте.
Как только вы закончите, сохраните и закройте файл. Затем перезапустите sshd сервис для применения последних изменений в конфигурациях.
$ sudo systemctl перезапустить sshd ИЛИ. $ sudo service sshd перезапуск
Как вы, возможно, уже знаете, этот метод влияет только на набор инструментов openssh, такие программы, как ssh, scp, sftp, будут заблокированы от доступа к учетной записи root.
Подключаемые модули аутентификации (PAM короче говоря) - это централизованный, подключаемый, модульный и гибкий метод аутентификации в системах Linux. ПАМ через /lib/security/pam_listfile.so модуль, обеспечивает большую гибкость в ограничении привилегий определенных учетных записей.
Вышеупомянутый модуль может использоваться для ссылки на список пользователей, которым не разрешено входить в систему через некоторые целевые службы, такие как логин, ssh и любые программы, поддерживающие PAM.
В этом случае мы хотим отключить доступ пользователя root к системе, ограничив доступ к службам входа и sshd. Сначала откройте и отредактируйте файл целевой службы в /etc/pam.d/ каталог, как показано.
$ sudo vim /etc/pam.d/login. ИЛИ. судо vim /etc/pam.d/sshd.
Затем добавьте приведенную ниже конфигурацию в оба файла.
требуется авторизация pam_listfile.so \ onerr = успешный элемент = пользовательский смысл = запретить файл = / 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. У вас есть какие-либо комментарии, предложения или вопросы, не стесняйтесь обращаться к нам через форму обратной связи ниже.