Мы установили Redhat Linux 6.5 с нуля при помощи VIA kick start и загрузились в однопользовательском режиме, потому что у меня нет пароля root.
Но когда я выполняю следующее:
passwd root
changing password for user root
passwd: permission denied
Пожалуйста, посоветуйте каковы причины отказа в разрешении и способы решения проблемы.
вы находитесь в однопользовательском режиме, поэтому вы не указываете пользователей
, убедитесь, что ваша корневая файловая система смонтирована в режиме чтения / записи
mount -o remount,rw /
, затем
passwd
это похоже на проблему с selinux с файлами, относящимися к passwd. Если что-то изменило файлы passwd, когда selinux не был активен, у него могут быть неправильные метки, и selinux запретит доступ к файлу. (Вероятно, вы можете проверить, включен ли selinux, проверив файл кикстарта)
Следуйте инструкциям из здесь , чтобы загрузиться в режиме восстановления.
После получения доступа к среде восстановления выполните следующие инструкции. чтобы заставить selinux изменить метку файловой системы при следующей загрузке
# mount -o remount,rw /mnt/sysimage
# chroot /mnt/sysimage
# touch /.autorelabel
# reboot
Другой подход:Если вы можете загрузиться в однопользовательском режиме, вы можете проверить, запущен ли selinux.
# getenforce
это завещание может быть принудительным, разрешающим или отключенным. Затем вы можете отключить его, пока будете устранять повреждения. Если вам нужно отключить его, следуйте этим инструкциям
vi /etc/sysconfig/selinux
Найдите строку с надписью SELINUX = ENFORCING
и замените ENFORCING
на DISABLED
. После этого сохраните / выйдите из файла и перезагрузитесь. Если виновником был selinux, вы сможете войти в систему как обычно.