Отключить вход root в CentOS 7.2.1511

Отключить вход root в CentOS 7.2.1511

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

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

Книга, в которой мне сказали использовать, sudo passwd -d rootбыла написана для CentOS 6.5. Моя версия — 7.2. Это недавнее изменение или я что-то не так понял?

решение1

Нет смысла ограничивать вход root на локальном ПК, так как локальный пользователь всегда может загрузить систему в однопользовательском режиме с привилегиями root. Если вам нужно заблокировать вход root через ssh - это можно сделать в /etc/ssh/sshd_config, добавив PermitRootLogin no

решение2

Самый простой способ предотвратить вход root — это испортить зашифрованную строку, которая представляет пароль root в /etc/shadow. Обычные строки в /etc/shadowвыглядят так:линия тени

  1. Имя пользователя: Это ваше имя для входа.
  2. Пароль: Это ваш зашифрованный пароль. Пароль должен быть длиной не менее 6-8 символов, включая специальные символы/цифры и т. д.
  3. Последнее изменение пароля (lastchanged): количество дней с 1 января 1970 года, когда пароль был изменен в последний раз.
  4. Минимум: минимальное количество дней, необходимое между сменами пароля, т.е. количество дней, оставшихся до того, как пользователю будет разрешено сменить свой пароль.
  5. Максимум: максимальное количество дней, в течение которых пароль действителен (после этого пользователь будет вынужден сменить свой пароль).
  6. Предупреждение: количество дней до истечения срока действия пароля, за которое пользователь получает предупреждение о необходимости смены пароля.
  7. Неактивно: количество дней после истечения срока действия пароля, в течение которых учетная запись будет отключена.
  8. Срок действия: количество дней с 1 января 1970 года, по истечении которого учетная запись будет отключена, т.е. абсолютная дата, указывающая, когда логин больше не может быть использован.

(Цитируется отсюда) Вы можете добавить ! (восклицательный знак), который не будет сгенерирован из хэш-функций в разделе паролей в строке root в /etc/shadow, что предотвращает вход с использованием всех возможных паролей. Теперь, когда вы уничтожили метод входа по паролю для root, никто не сможет войти из ниоткуда как rootиспользуя пароль. (Хотя могут существовать и другие способы входа в систему)

Более безопасный способ сделать это — через usermodутилиту: sudo usermod -L root Это не даст вам все испортить. Подробное usermodиспользование см . в usermod(8).

Когда вы захотите войти в систему как root, удалите этот ! и все будет хорошо.

решение3

Хотя предыдущий ответ был основан на моих комментариях о блокировке root с помощью usermod -Lили passwd -lи фактической установке поля пароля на !, они не объясняют вашу затруднительную ситуацию.

Я думал, почему в книге говорится, что удаление с помощью passwd -dпредотвращает доступ. Когда вы устанавливаете пустой пароль с помощью -d, вы запрещаете всем не-root пользователям получать доступ к учетной записи rootудаленно, потому что не-root пользователи не могут переходить на другие учетные записи, у которых нет пароля. Поскольку ssh в настоящее время также блокирует root по умолчанию, учетная запись root будет фактически заблокирована с точки зрения удаленных и не-root пользователей. (например, единственный способ работать как root тогда будет sudo)

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

Более разумной политикой является блокировка root с помощью usermod -Lили passwd -L, но не раньше, чем будет установлена ​​разумная политика пользователя и протестирована ее.

Альтернативой является установление очень безопасного пароля root, который будет регулярно меняться и который никто не узнает ( makepasswdнапример, сгенерировав его случайным образом и сохранив в конверте) для экстренных случаев (например, одиночная загрузка или когда кто-то по ошибке испортит конфигурацию sudo). Тогда пароль root действительно может пригодиться. Таким образом, будет обеспечена привилегированная работа через sudo. В противном случае, если root заблокирован, альтернативой будет загрузка с CD или флешки, как виртуальной, так и реальной.

Связанный контент