Как отключить root в linux
Перейти к содержимому

Как отключить root в linux

  • автор:

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

Мануал

Автор cryptoparty На чтение 6 мин Опубликовано 17.06.2018

Учетная запись root является конечной учетной записью в Linux и других Unix-подобных операционных системах.

Эта учетная запись имеет доступ ко всем командам и файлам в системе с полными разрешениями на чтение, запись и выполнение.

Она используется для выполнения любой задачи в системе; создавать / обновлять / получать доступ / удалять учетные записи других пользователей, устанавливать / удалять / обновлять пакеты программного обеспечения и многое другое.

Поскольку пользователь 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 указывает группу для добавления пользователя в (колесо или 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 vim /etc/passwd
root:x:0:0:root:/root:/bin/bash на root:x:0:0:root:/root:/sbin/nologin 

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

С этого момента, когда пользователь root войдет в систему, он / она получит сообщение «This account is currently not available».

Это сообщение по умолчанию, но вы можете изменить его и установить собственное сообщение в файле /etc/nologin.txt.

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

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

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

В приведенном выше файле вы можете указать устройства TTY, c которыми пользователь 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. Отключить вход root по SSH

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

$ sudo vim /etc/ssh/sshd_config

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

Как только вы закончите, сохраните и закройте файл.

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

$ sudo systemctl restart sshd или $ sudo service sshd restart

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

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

Подключаемые модули аутентификации (PAM) – это централизованный, подключаемый, модульный и гибкий метод аутентификации в системах Linux.

PAM через модуль /lib/security/pam_listfile.so обеспечивает большую гибкость в ограничении привилегий конкретных учетных записей.

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

В этом случае мы собираемся отключить доступ пользователя root к системе, ограничив доступ к входам и службам 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

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!

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

Поддержать нас

  • Аудит ИБ (49)
  • Вакансии (12)
  • Закрытие уязвимостей (110)
  • Книги (27)
  • Мануал (2 359)
  • Медиа (66)
  • Мероприятия (39)
  • Мошенники (23)
  • Обзоры (831)
  • Обход запретов (34)
  • Опросы (3)
  • Скрипты (116)
  • Статьи (360)
  • Философия (124)
  • Юмор (18)

Наш Telegram

Социальные сети
Поделиться

Anything in here will be replaced on browsers that support the canvas element

  • �� Каковы различные форматы сертификатов? 27.10.2023

Цифровые сертификаты могут использоваться для различных целей. Они могут использоваться для защиты соединений с веб-сайтами, для шифрования сообщений электронной почты или для проверки личности пользователя. Выбор правильного формата сертификата необходим для обеспечения безопасности и сохранности данных. Когда речь идет о различных форматах сертификатов, важно выбрать тот, который соответствует вашим потребностям Выберите формат сертификата, совместимый с […]

Преобразование файла PFX (PKCS #12) в формат PEM (Privacy Enhanced Mail) достаточно просто на Linux и Unix-подобных системах. В этой статье мы рассмотрим, как преобразовать файл сертификата в формате PFX в файл PEM с помощью OpenSSL из командной строки. Что такое файл PFX? PFX (также PKCS#12) – это формат файла, содержащего сертификат(ы) и закрытый(ые) ключ(ы), […]

Одним из основных нововведений, появившихся в Podman, стала возможность запуска контейнеров без прав root. С точки зрения безопасности это было существенным улучшением, поскольку потенциально скомпрометированный контейнер, запущенный от имени root, представляет собой угрозу безопасности для хост-системы. Чтобы добиться аналогичного поведения, последние версии Docker поддерживают запуск демона docker в пользовательском контексте. �� Почему процессы в контейнерах […]

Small Form Factor Pluggable (SFP) – это компактный приёмопередатчик, который устанавливается в SFP порт коммутатора Ethernet. Модуль используется для присоединения платы сетевого устройства к оптическому волокну или витой паре. Модули SFP заменили устаревшие модули GBIC благодаря своим миниатюрным размерам. Это преимущество в размерах позволяет им эффективно работать в ограниченных сетевых средах, обеспечивая быстрый обмен данными […]

Давайте поговорим о классификации вредоносных программ. Когда антивирусная программа или средство защиты от вредоносного ПО обнаруживает что-то потенциально вредоносное, она использует определенный формат, чтобы помочь вам или другим специалистам понять, с какой именно угрозой вы имеете дело. Формат может выглядеть примерно так: Type:Platform/Family.Variant!Suffixes Это не всегда будет выглядеть именно так, поскольку, как вы помните, не […]

4 способа отключить доступ к аккаунту Root в Linux

Оригинал: 4 Ways to Disable Root Account in Linux
Автор: Aaron Kili
Дата публикации: 19 октября 2018 года
Перевод: А. Кривошей
Дата перевода: июль 2019 г.

Учетная запись root является главной учетной записью в Linux и других Unix-подобных операционных системах. Эта учетная запись имеет доступ ко всем командам и файлам в системе с полными разрешениями на чтение, запись и выполнение. Она используется для выполнения любых системных задач: создания/обновления/получения доступа/удаления учетных записей других пользователей, установки/удаления/обновления программных пакетов и многого другого.

Поскольку пользователь 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 vim /etc/passwd
root:x:0:0:root:/root:/bin/bash на root:x:0:0:root:/root:/sbin/nologin

редактирование файла /etc/passwd

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

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

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

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

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

Приведенный выше файл позволяет вам указать, на каких устройствах TTY разрешен вход в систему пользователю 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.

3. Отключение доступа к Root по SSH

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

$ sudo vim /etc/ssh/sshd_config

Затем раскомментируйте (если это закомментировано) директиву PermitRootLogin и установите для нее значение no, как показано на скриншоте.

раскомментирование директивы PermitRootLogin

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

$ sudo systemctl restart sshd или $ sudo service sshd restart

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

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

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

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

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

$ sudo vim /etc/pam.d/login или sudo vim /etc/pam.d/sshd

Затем добавьте приведенную ниже конфигурацию в один из этих файлов (или в оба).

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

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

Учетная запись root — это основная учетная запись в Linux и других Unix-подобных операционных системах. Эта учетная запись имеет доступ ко всем командам и файлам в системе с полными правами на чтение, запись и выполнение. Он используется для выполнения любых задач в системе; устанавливать/удалять/обновлять программные пакеты и многое другое.

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

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

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

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

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

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

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

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

# su admin

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

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

$ sudo vim /etc/passwd
root:x:0:0:root:/root:/bin/bash to root:x:0:0:root:/root:/sbin/nologin 

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

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

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

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

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

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

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

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

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

3. Отключить корневой вход SSH

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

$ sudo vim /etc/ssh/sshd_config

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

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

$ sudo systemctl restart sshd OR $ sudo service sshd restart

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

4. Ограничить корневой доступ к сервисам через PAM

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

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

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

$ sudo vim /etc/pam.d/login OR sudo vim /etc/pam.d/sshd

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

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. Вы можете заблокировать корневой доступ к системе через ftp и почтовые клиенты и многое другое.

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

$ man pam_securetty $ man sshd_config $ man pam

Вот и все! В этой статье мы объяснили четыре способа отключения входа (или учетной записи) пользователя root в Linux. Если у вас есть какие-либо комментарии, предложения или вопросы, не стесняйтесь обращаться к нам через форму обратной связи ниже.

Все права защищены. © Linux-Console.net • 2019-2023

4.4. Административные средства

Управляя домашним компьютером, пользователь должен выполнять некоторые действия под именем 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 ). Однако выполнение других важных административных задач, таких как изменение параметров сети, настройка новой мыши или подключение сетевых устройств невозможно без прав администратора. В следствие этого системные администраторы должны решить, какие административные полномочия должны получить пользователи их сети.

4.4.1. Разрешение доступа root

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

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

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

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

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

4.4.2. Запрещение доступа root

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

СпособОписаниеДействиеНе затрагиваетИзменение оболочки root.Отредактируйте файл /etc/passwd и смените оболочку с /bin/bash на /sbin/nologin .

Предотвращает вход в оболочку 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

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

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

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

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

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

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

Замечания:
a. За подробностями обратитесь к разделу 4.4.2.4 Отключение root с помощью PAM .

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

4.4.2.1. Отключение оболочки root

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

Важно

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

4.4.2.2. Запрет входа root

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

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

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

4.4.2.3. Запрет входа root через SSH

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

4.4.2.4. Отключение root с помощью PAM

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 .

4.4.3. Ограничение доступа root

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

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

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

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

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

usermod -G wheel

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

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

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

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

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

auth required /lib/security/$ISA/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 .

Назад Начало Вперёд
Парольная защита Вверх Доступные сетевые службы

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

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