При загрузке добавьте init=/bin/bash
(или путь к любой другой функциональной оболочке) к своим параметрам загрузки - вы попадете прямо в однопользовательскую оболочку. Возможно, вам придется сделать это mount -o remount,rw /
перед изменением /etc/passwd
записи в этой среде. После этого просто перезагрузите или сделайте exec /sbin/init 3
. Только не печатайте exit
и не нажимайте Ctrl + D, так как это приведет к панике ядра *.
В некоторых системах, загружаемых в двухэтапном режиме (с образом initrd), может потребоваться еще один вариант этого метода. Если вы заметили, что параметры загрузки содержат init=
и, что наиболее важно, real_init=
то место для размещения /bin/bash
должно быть последним параметром (т.е. real_init=/bin/bash
).
* Это потому, что в этой среде оболочка рассматривается ядром как программа init - единственный процесс, который знает ядро - она представляет работающую систему под глазом ядра. Внезапное завершение этого процесса без указания ядра на выключение системы должно привести к панике ядра. (Не паникуете ли вы, если вдруг все вокруг станет черным и тихим?)