Jika kita tidak tahu kata sandi root dan tidak memiliki akses root ke mesin, bagaimana kita bisa mengubah kata sandi root?
Jawaban yang Diterima:
Berikut adalah beberapa cara yang dapat saya pikirkan, dari yang paling tidak mengganggu hingga yang paling mengganggu.
Tanpa Reboot
Dengan sudo: jika Anda memiliki sudo
izin untuk menjalankan passwd
, Anda dapat melakukan:
sudo passwd root
Masukkan Anda password, lalu masukkan password baru untuk root dua kali. Selesai.
Mengedit file :ini berfungsi jika Anda tidak memiliki sudo
lengkap akses, tetapi Anda melakukannya memiliki akses untuk mengedit /etc/{passwd,shadow}
. Buka /etc/shadow
, baik dengan sudoedit /etc/shadow
, atau dengan sudo $EDITOR /etc/shadow
. Ganti bidang kata sandi root (semua karakter acak antara titik dua kedua dan ketiga :
) dengan bidang kata sandi pengguna Anda sendiri. Menyimpan. Lokal memiliki kata sandi yang sama dengan Anda. Masuk dan ubah kata sandi menjadi yang lain.
Ini adalah yang mudah.
Diperlukan Boot Ulang
Mode Pengguna Tunggal :Ini baru saja dijelaskan oleh Renan. Ini berfungsi jika Anda bisa masuk ke GRUB (atau boot loader Anda) dan Anda dapat mengedit baris perintah Linux. Ini tidak berfungsi jika Anda menggunakan Debian, Ubuntu, dan beberapa lainnya. Beberapa konfigurasi boot loader memerlukan kata sandi untuk melakukannya, dan Anda harus mengetahuinya untuk melanjutkan. Tanpa basa-basi lagi:
- Mulai ulang.
- Masukkan sandi waktu booting, jika ada.
- Masuk ke menu boot loader Anda.
- Jika mode pengguna tunggal tersedia, pilih itu (Debian menyebutnya 'Mode pemulihan').
- Jika tidak, dan Anda menjalankan GRUB:
- Sorot opsi boot normal Anda.
- Tekan e untuk masuk ke mode edit. Anda mungkin dimintai kata sandi GRUB di sana.
- Sorot baris yang dimulai dengan
kernel
ataulinux
. - Tekan e .
- Tambahkan kata 'single' di akhir. (jangan lupa untuk menambahkan spasi!)
- Tekan Enter dan boot bait yang diedit. Beberapa GRUB menggunakan Ctrl –X , beberapa menggunakan b . Dikatakan yang mana di bagian bawah layar.
Sistem Anda akan boot dalam mode pengguna tunggal. Beberapa distribusi tidak akan meminta kata sandi root Anda pada saat ini (yang berbasis Debian dan Debian melakukannya). Anda sudah root sekarang. Ubah kata sandi Anda:
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
dan reboot
, atau, jika Anda mengetahui runlevel normal Anda, ucapkan telinit 2
(atau apa pun itu).
Mengganti init
:secara dangkal mirip dengan trik mode pengguna tunggal, dengan sebagian besar instruksi yang sama, tetapi membutuhkan lebih banyak kecakapan dengan baris perintah. Anda mem-boot kernel Anda seperti di atas, tetapi alih-alih single
, Anda menambahkan init=/bin/sh
. Ini akan menjalankan /bin/sh
sebagai pengganti init
, dan akan memberi Anda sangat shell awal dengan hampir tidak ada fasilitas. Pada titik ini, tujuan Anda adalah untuk:
- Pasang volume root.
- Dapatkan
passwd
berlari. - Ubah sandi Anda dengan
passwd
perintah.
Bergantung pada pengaturan khusus Anda, ini mungkin sepele (identik dengan instruksi untuk mode pengguna tunggal), atau sangat tidak sepele:memuat modul, menginisialisasi RAID perangkat lunak, membuka volume terenkripsi, memulai LVM, dan lain-lain. Tanpa init
, Anda tidak menjalankan demon atau proses lainnya selain /bin/sh
dan anak-anaknya, jadi Anda benar-benar sendirian. Anda juga tidak memiliki kontrol pekerjaan, jadi berhati-hatilah dengan apa yang Anda ketik. Satu cat
. yang salah tempat dan Anda mungkin harus memulai ulang jika tidak dapat keluar.
Disk Penyelamat :yang ini mudah. Boot disk penyelamat pilihan Anda. Pasang sistem file root Anda. Prosesnya bergantung pada bagaimana volume Anda berlapis, tetapi pada akhirnya bermuara pada:
# 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
Jelas, $SOME_ROOT_DEV
adalah nama perangkat blok apa pun yang ditetapkan ke sistem file root Anda oleh disk penyelamat dan $EDITOR
adalah editor favorit Anda (yang mungkin harus vi
pada sistem penyelamatan). Setelah reboot
, biarkan mesin melakukan booting secara normal; kata sandi root akan menjadi milik pengguna Anda sendiri. Masuk sebagai root dan segera ubah.
Cara Lain
Jelas, ada variasi yang tak terhitung jumlahnya di atas. Semuanya bermuara pada dua langkah:
- Dapatkan akses root ke komputer (catch-22 — dan trik sebenarnya)
- Ubah kata sandi root entah bagaimana.