Как отключить вход Root в Linux

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

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

Как отключить вход Root в Linux

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

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

Далее мы используем команду usermod для добавления этого нового пользователя в группу административных пользователей. Мы используем флаг -a для добавления этого пользователя и флаг -G для указания группы, в которую вы хотите добавить этого пользователя.

CentOS/RHEL

Debian/Ubuntu

Первая команда выше добавляет нового пользователя в группу пользователей wheel, которая является административной группой в CentOS/RHEL. Вторая команда добавит нового пользователя в группу пользователей sudo, которая является административной группой в Debian/Ubuntu.

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

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

У каждого пользователя Linux есть оболочка по умолчанию, в которую он входит при доступе к своей системе. Если вы установите /sbin/nologin, то они не смогут войти в свою учетную запись. Поэтому мы изменим оболочку пользователя root с /bin/bash на /sbin/nologin в файле /etc/passwd. Откройте его в текстовом редакторе.

Измените следующую строку, как показано ниже.

на

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

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

"This account is currently not available." (Эта учетная запись в настоящее время недоступна)

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

2. Отключить SSH-доступ к учетной записи root

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

Откройте файл конфигурации SSH на вашем сервере, выполнив следующую команду.

Откомментируйте директиву PermitRootLogin и установите значение no.

...

...

Сохраните и закройте файл. Перезапустите SSH-сервер, чтобы применить изменения.

ИЛИ

Это заблокирует доступ к учетной записи root всем приложениям, использующим OpenSSH, таким как SSH, SCP, SFTP. Другие приложения смогут использовать учетную запись root.

3. Запрет входа под root через TTY

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

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

Обратите внимание, что это влияет только на такие программы, как login, display managers и сетевые службы, которые требуют TTY для запуска. Однако такие команды, как su, sudo, ssh, по-прежнему могут получить доступ к учетной записи root.

Заключение

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

Понравилась статья? Поделиться с друзьями:
Добавить комментарий