Відмова від відповідальності: Це питання не вирішує проблему зміни кореневого пароля, коли SELinux активний, тому що існує вже багато посібників для вирішення цього питання. Це більше, як SELinux робить це внутрішньо.
Я останній користувач SELinux, але останнім часом я з ним більше контактую. Був момент, коли хтось запитав мене, як я можу скинути пароль root у випадку його забуття.
Тому я завантажив свій CentOS, відредагував груб запис на щось подібне
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 як гіпервізор.