Saya melakukan kesalahan yang sama menambahkan akun saya ke grup (lupa itu -a). Saya menginstal sistem saya dengan login root terkunci, dan akun saya adalah satu-satunya di mesin.
Jawaban yang diterima tidak membantu saya. Saat boot ke mode pemulihan, semua yang saya dapatkan adalah pesan yang tidak membantu
Tidak dapat membuka akses ke konsol, akun root dikunci. Lihat halaman manual sulogin (8) untuk lebih jelasnya
Tekan ENTER untuk melanjutkan
Setelah menekan ENTER, sistem boot secara normal: tidak beruntung mendapatkan akses root untuk memperbaiki masalah. Saya meninggalkan jawaban ini untuk berjaga-jaga seandainya seseorang berakhir pada posisi saya pada titik ini. Gunakan yang berikut ini hanya jika Anda tidak bisa masuk ke mode pemulihan melalui menu Grub .
Panduan untuk mendapatkan shell root:
- Boot ke menu Grub, dan sorot (tapi jangan tekan Enter!) Opsi boot normal (default, bukan pemulihan!).
- Tekan
e. Grub akan menampilkan editor baris perintah dengan banyak baris, yang semuanya mungkin terlihat asing jika tidak mengintimidasi. Jangan khawatir, setiap perubahan yang Anda lakukan tidak disimpan secara permanen.
- Temukan baris yang berbunyi
linux ... ro .... Ini adalah baris perintah kernel. Ganti rotoken dengan rw, untuk membuat sistem file root baca / tulis, dan tambahkan parameter baris perintah kernel init=/bin/sh,. Ini menginstruksikan kernel untuk mengeksekusi shbukan /sbin/init. Pada akhirnya, garis harus seperti linux ... rw init=/bin/sh .... Catatan: Anda dapat bertahan bahkan dengan grub>prompt kosong . Dengan senang hati saya akan menjelaskan bagaimana, langkah demi langkah, jika semuanya gagal untuk Anda; tinggalkan komentar untuk jawaban ini.
- Setelah perubahan, tekan F10untuk menggunakan perintah dari editor untuk mem-boot sistem (atau baca instruksi cara mem-boot tepat di bawah jendela editor, jika Grub Anda dikompilasi secara berbeda). Anda akan mendapatkan prompt shell root, karena proses init berjalan sebagai PID 1 dengan identitas root.
- Buat perubahan yang ingin Anda buat, misalnya
usermod -a -Gadm,sudo YOURUSERID. Konfirmasikan id -a YOURUSERIDbahwa Anda telah mendapatkan kembali keanggotaan sudo Anda. Jika Anda mendapatkan kesalahan "perintah tidak ditemukan", gunakan /sbin/usermoddan /bin/id.
Anda tidak dapat mematikan atau menyalakan ulang sistem dengan bersih pada saat ini. reboot, haltatau powerofftidak akan berfungsi, dan exitdari shell akan menyebabkan panik kernel, karena proses PID 1 tidak diharapkan untuk keluar begitu saja. Jadi dua perintah berikutnya yang harus Anda keluarkan adalah:
sync
exec /sbin/init
synckalau-kalau ada yang tidak beres, untuk menyimpan semua perubahan ke disk, dan execuntuk mengganti shell dengan yang asli init(yang dapat systemd, pemula atau System V init, tetapi selalu disebut /sbin/init). Sistem kemungkinan besar akan melanjutkan boot secara normal (tanpa mode pemulihan).
- Login dan reboot sistem sekali, misalnya - Anda
sudo rebootseharusnya mendapatkan hak istimewa sudo Anda kembali. Reboot disarankan, karena (walaupun sangat jarang) initdapat melewati parameter tambahan selama boot normal, dan itu tidak kami lakukan. Jika execgagal, cukup reset mesin dan biarkan boot normal. Semua filesystem jurnal modern seperti ext4, xfs dan btrfs pulih dengan cepat (beberapa detik untuk pemeriksaan jurnal paling banyak, jika syncdiedit sebelum reset), dan Anda akan siap.
Sedikit latar belakang
Ada diskusi tentang laporan bug Debian tentang masalah ini, dan, sejauh yang dipahami, ini diputuskan sebagai fitur dan bukan bug, yang saya anggap sebagai kesalahan. Setelah berkecimpung dalam bisnis ini selama 25 tahun, saya tidak dapat membantu tetapi sama sekali tidak setuju dengan argumen Michael Biebl dalam pesan # 31 di utas itu:
Pertimbangkan ini: Anda memiliki laptop dengan akun root yang terkunci. Secara default, boot loader grub membuat entri boot untuk mode penyelamatan. Jadi, bahkan jika Anda mengunci bios untuk tidak mengizinkan boot dari CD-Rom atau USB, dan Anda melindungi password grub, seseorang dapat dengan mudah mendapatkan akses root jika Anda meninggalkan laptop tanpa pengawasan sejenak.
Yang benar, IMO, jika tidak cukup umum, keberatan diberikan dalam pesan # 70 oleh Felipe Sateler:
Bagi banyak (kebanyakan?) Komputer, akses fisik berarti gim kehilangan keamanan, karena Anda hanya dapat membongkar kotak dan mendapatkan hard drive.
Ini berlaku terutama untuk laptop, yang disebutkan dalam argumen Michael: jika Anda membiarkannya tanpa pengawasan sesaat, dan seseorang mencari data Anda, laptop itu akan hilang dan tidak pernah terlihat lagi. Dan untuk mesin apa pun , bukan "banyak" atau "sebagian besar", bahkan yang dibaut 8 poin ke rak, segera setelah penyerang mendapatkan akses fisik ke mesin, permainan benar-benar berakhir.