Якщо ми не знаємо корінний пароль і не маємо кореневого доступу до машини, як ми можемо змінити кореневий пароль?
Якщо ми не знаємо корінний пароль і не маємо кореневого доступу до машини, як ми можемо змінити кореневий пароль?
Відповіді:
Ось декілька способів, які я можу придумати, від найменш настирливих до самих настирливих.
З судо: якщо у вас є sudoдозволи на запуск passwd, ви можете:
sudo passwd root
Введіть свій пароль, а потім два рази введіть новий пароль для root. Зроблено.
Редагування файлів : це працює в малоймовірному випадку , якщо ви не маєте повний sudoдоступ, але зробити доступ до редагування /etc/{passwd,shadow}. Відкрийте /etc/shadowабо з sudoedit /etc/shadow, або з sudo $EDITOR /etc/shadow. Замініть поле пароля root (усі випадкові символи між другою та третьою колонами :) на поле вашого власного користувача. Зберегти. Місцевий має той самий пароль, що і ви. Увійдіть і змініть пароль на щось інше.
Це найлегші.
Режим єдиного користувача : Це тільки що пояснив Ренан. Це працює, якщо ви можете потрапити в GRUB (або ваш завантажувач) і зможете редагувати командний рядок Linux. Це не працює, якщо ви використовуєте Debian, Ubuntu та деякі інші. У деяких конфігураціях завантажувача для цього потрібен пароль, і ви повинні знати, що продовжити. Без зайвого галасу:
kernelабо linux.Ваша система завантажиться в режимі одного користувача. Деякі дистрибутиви не запитають вас кореневого пароля в цей момент (це роблять Debian та Debian). Ви зараз корінь. Змінити пароль:
mount / -o remount,rw
passwd # Enter your new password twice at the prompts
mount / -o remount,ro
sync # some people sync multiple times. Do what pleases you.
reboot
і reboot, або, якщо ви знаєте свій нормальний рівень запуску, скажіть telinit 2(або що б там не було).
Замінаinit : поверхово схожий на фокус єдиного користувальницького режиму, з значною мірою однаковими інструкціями, але вимагає набагато більше досконалості з командним рядком. Ви завантажуєте ядро, як вище, але замість цього singleдодаєте init=/bin/sh. Це працюватиме /bin/shзамість цього init, і ви отримаєте дуже ранні оболонки з майже ніякими зручностями. На даний момент ваша мета:
passwd.passwdкоманди.Залежно від конкретних налаштувань, вони можуть бути тривіальними (ідентичними інструкціям для режиму одиночного користувача) або дуже нетривіальними: завантаження модулів, ініціалізація програмного RAID, відкриття зашифрованих томів, запуск LVM та ін. Без цього initви не керуєте dæmons або будь-якими іншими процесами, але /bin/shі його дітьми, тому ви буквально самостійно. Ви також не маєте контролю за роботою, тому будьте уважні, що ви вводите. Один неправильно розміщений, catі вам, можливо, доведеться перезавантажити, якщо ви не можете вийти з нього.
Рятувальний диск : це легко. Завантажте рятувальний диск на ваш вибір. Змонтуйте свою кореневу файлову систему. Процес залежить від того, яким чином ваші обсяги є шаруватими, але з часом зводиться до:
# do some stuff to make your root volume available.
# The rescue disk may, or may not do it automatically.
mkdir /tmp/my-root
mount /dev/$SOME_ROOT_DEV /tmp/my-root
$EDITOR /tmp/my-root/etc/shadow
# Follow the `/etc/shadow` editing instructions near the top
cd /
umount /tmp/my-root
reboot
Очевидно, $SOME_ROOT_DEVбудь-яке ім'я блоку пристрою присвоюється вашій кореневій файловій системі рятувальним диском і $EDITORє вашим улюбленим редактором (який, можливо, повинен бути viв рятувальній системі). Після цього rebootдозвольте машині нормально завантажуватися; пароль root буде паролем вашого власного користувача. Увійдіть як корінь і негайно змініть його.
Очевидно, існує незліченна кількість варіацій до вищезазначеного. Усі вони зводяться до двох кроків:
Думаю, це повинно працювати на будь-якому дистрибутиві.
Якщо ви можете отримати доступ до кореневого розділу з іншої системи, наприклад, живого компакт-диска, ви можете виконувати його редагування /etc/shadow; спочатку ви повинні chmod u+w shadow. Знайдіть запис root, він, мабуть, перший і виглядає приблизно так:
root:$6$asdG0[..etc...]ae/:15666:0:99999:7:::
Стерти все між першими двома двокрапками, щоб закінчити:
root::15666:0:99999:7:::
Потім chmod u-w shadow. Тепер ви можете перезавантажити систему, і root не матиме пароля. Ви можете просто ввести rootзапит на вхід, і він не вимагатиме. Потім ви можете passwdвстановити його.
Щоб бути особливо обережними:
/etc/shadowпершої.passwdв середовищі chroot з прямого CD?
/etc/shadow
Судячи з тегів, я вважаю, що ви використовуєте RHEL, але це рішення має працювати однаково добре для всіх дистрибутивів.
Якщо пароль root забутий, ви можете завантажуватися в режимі однокористування та використовувати його для зміни пароля. Цей підхід описаний у покроковому посібнику Red Hat :
kernel, натисніть eще раз.single. Потім натисніть ENTERі bвитягніть з нього.Зрештою, ви отримаєте підказку, де зможете ввести passwd rootта змінити пароль. Потім введіть rebootдля перезавантаження системи.
/boot/grub/grub.confщоб видалити пароль завантажувача та /etc/inittabзмінити оболонку одного користувача на щось на кшталт / bin / sh (cc @pradeepchhetri)