петък, 10 октомври 2008 г.

Как да сменим root паролата под Linux

Различните дистрибуции на операционната система GNU/Linux намират все по-богато разпространение дори сред десктоп компютрите на много обикновени потребители. Тяхната липса на знание по отношение на Unix философията обаче ежедневно ги сблъсква със сериозни проблеми при работата им с различните версии на Linux и Unix подобните операционни системи.
Въпреки че инсталацията протича сравнително лесно подценяването на мощта на root потребителя често води до забравянето на неговата парола. Какво следва ако не разполагате с паролата на root потребителя, но в същото време имате обикновен потребител или физически достъп до компютъра.
Съществува изключително лесен вариант за смяна на паролата на root потребителя. Това което трябва да се направи е да се стартира компютъра от произволен диск с GNU/Linux или друго стартиращо устройство. Все още съществуват дистрибуции на дискета, както и множество различни live usb, cd/dvd дискове.
След като заредите компютъра с live дистрибуцията трябва да монтирате дяла на който е инсталиран вашата GNU/Linux система. За целта не е необходимо да се стартира X-Window - всички стъпки могат да преминат в писане на няколко семпли команди. За да монтирате дяла трябва да знаете къде е.
В случай че не знаете:
fdisk -l /dev/hda
или
fdisk -l /dev/sda
ще свърши работа.
SDA е за Serial-ATA и SCSI твърди дискове, а hda за обикновени ATA дискове. С помощта на fdisk ще се появи инфо за различните дялове на диска. Следващата стъпка е да се открие дела в който е инсталирана дистрибуцията, т.е. / дяла. Обикновено на този дял трябва да има директории /etc и /boot. Затова най-лесният начин е да го монтирате някъде.
mkdir -p /mnt/disk
mount -t ext3 -o rw /dev/hda1/ mnt/disk
В случая /dev/hda1 е първият дял от вашият диск (не забравяйте може да е sda и цифра), а ако имате Windows е твърде вероятно цифрата на Linux дяла да е 5 или нагоре. С първата команда се създава директорията където искаме да се монтира дяла, ако такава няма, а с втората се монтира.
Опцията -t на mount служи за определяна на вида на файловата система, ако сте инсталирали GNU/Linux с друга, съответно при вас може да е различна. Опцията -o rw на mount монтира въпросният дял с права за запис.
След като монтираме дяла където е инсталирана операционната система, за да премахнем паролата на root трябва да редактираме файла /etc/shadow. Той е част от двуслойната система за съхраняване на паролите в Unix среда. Подробно обяснение за какво се използва може да се открие тук.
Общо взето той съхранява криптирана версия на потребителските пароли. Забележете че не е необходимо да се декриптира паролата а просто да се изтрие. По този начин си осигуряваме логване в системата с правата на потребителя, който желаем. Впоследствие може да променим неговата парола с командата passwd.
След като сме монтирали дяла с права за запис, трябва да редактираме /etc/shadow. Паролата е комбинацията от странни символи след първото и преди второто двоеточие. Изтриването на тези символи и запазването на файла с помощта на текстов редактор от сорта на vi, mcedit или pico, означава че след като рестартирате компютъра и заредите с операционната система ще може да влезете в нея, просто след въвеждане на потребителското име (в случая root) и натискане на enter. Не се обърквайте да смените поредицата от символи с * или !! каквито имат много от описаните потребители в shadow. Тези оператори указват на системния шел че акаунта е неактивен или че трябва да му се смени паролата.
Добро ръководство за възстановяване на изтрит /etc/shadow може да бъде открито на страниците на UnixCraft.



Ето и видео как да сменим паролата на root за 30 секунди чрез GRUB boot мениджъра - благодарение на Metacafe.

Няма коментари: