Отказ от ответственности: Этот вопрос не решает проблему изменения пароля root, когда SELinux активен, потому что есть много руководств для решения этой проблемы. Это больше похоже на то, как SELinux делает это внутренне.
Я недавно пользуюсь SELinux, но в последнее время я больше общаюсь с ним. Был момент, когда кто-то спросил меня, как я могу сбросить пароль root в случае его забытия.
Итак, я загрузил свой CentOS, отредактировал запись grub что-то вроде
linux16 <kernel_location> root=/dev/mapper/centos-root rw init=/bin/bash
Я побежал, passwd
а потом побежал sync
и принудительно перезагрузился. После перезагрузки вход в систему с новым паролем был отклонен, как и со старым, конечно.
Снова перезагрузился и передал ядру параметр для отключения SELinux ( selinux=0
). Пробовал залогиниться с новым паролем и все заработало. После этого я запустил автоматическое переопределение fs (через файл .autorelabel
), и с активным SELinux теперь можно было войти в систему.
Мой вопрос: почему это происходит? Почему перемаркировка влияет на вход в систему, когда произошла просто смена пароля, а не пользователей или объектов?
Спасибо за Ваше внимание.
TL; DR: Обычный сброс пароля root не работает в SELinux. Почему?
Изменить: Это было проверено на виртуальной машине под управлением CentOS7 с KVM в качестве гипервизора.