Jika kita tidak tahu kata sandi root dan tidak memiliki akses root ke mesin, bagaimana kita bisa mengubah kata sandi root?
Jika kita tidak tahu kata sandi root dan tidak memiliki akses root ke mesin, bagaimana kita bisa mengubah kata sandi root?
Jawaban:
Berikut adalah beberapa cara yang dapat saya pikirkan, dari yang paling tidak mengganggu sampai yang paling mengganggu.
Dengan sudo: jika Anda memiliki sudo
izin untuk menjalankan passwd
, Anda dapat melakukan:
sudo passwd root
Masukkan kata sandi Anda , lalu masukkan kata sandi baru untuk root dua kali. Selesai
Mengedit file : karya ini dalam kasus tidak mungkin Anda tidak memiliki penuh sudo
akses, tetapi Anda lakukan memiliki akses ke 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 dan ketiga :
) dengan bidang kata sandi pengguna Anda sendiri. Menyimpan. Lokal memiliki kata sandi yang sama dengan Anda. Masuk dan ubah kata sandi menjadi sesuatu yang lain.
Ini yang mudah.
Mode Pengguna Tunggal : Ini baru saja dijelaskan oleh Renan. Ini bekerja jika Anda bisa mendapatkan GRUB (atau boot loader Anda) dan Anda dapat mengedit baris perintah Linux. Tidak berfungsi jika Anda menggunakan Debian, Ubuntu, dan beberapa lainnya. Beberapa konfigurasi boot loader memerlukan kata sandi untuk melakukannya, dan Anda harus tahu itu untuk melanjutkan. Tanpa basa-basi:
kernel
atau linux
.Sistem Anda akan boot dalam mode pengguna tunggal. Beberapa distribusi tidak akan meminta Anda untuk kata sandi root pada saat ini (yang berbasis Debian dan yang melakukannya). Anda 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 tahu tingkat normal Anda, katakan telinit 2
(atau apa pun itu).
Menggantiinit
: dangkal mirip dengan trik mode pengguna tunggal, dengan sebagian besar instruksi yang sama, tetapi membutuhkan kecakapan lebih banyak dengan baris perintah. Anda mem-boot kernel seperti di atas, tetapi alih-alih single
, Anda menambahkan init=/bin/sh
. Ini akan berjalan /bin/sh
di tempat init
, dan akan memberi Anda shell yang sangat awal dengan hampir tidak ada fasilitas. Pada titik ini, tujuan Anda adalah:
passwd
berlari.passwd
perintah.Tergantung pada pengaturan khusus Anda, ini mungkin sepele (identik dengan instruksi untuk mode pengguna tunggal), atau sangat tidak sepele: memuat modul, menginisialisasi perangkat lunak RAID, membuka volume terenkripsi, mulai LVM, dan lain-lain. Tanpa init
, Anda tidak menjalankan demon atau proses lain selain /bin/sh
anak-anaknya, jadi Anda benar-benar sendirian. Anda juga tidak memiliki kontrol pekerjaan, jadi berhati-hatilah dengan apa yang Anda ketik. Satu tempat salah cat
dan Anda mungkin harus reboot jika Anda tidak bisa keluar dari itu.
Disk Penyelamatan : ini mudah. Boot disk penyelamat pilihan Anda. Pasang sistem file root Anda. Prosesnya tergantung pada bagaimana volume Anda berlapis, tetapi 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
apa pun nama perangkat blok yang ditetapkan untuk sistem file root Anda oleh disk penyelamat dan $EDITOR
merupakan editor favorit Anda (yang mungkin harus ada vi
di sistem penyelamatan). Setelah itu reboot
, izinkan mesin untuk boot secara normal; kata sandi root akan menjadi milik pengguna Anda sendiri. Masuk sebagai root dan ubah segera.
Jelas, ada variasi yang tak terhitung jumlahnya di atas. Semuanya menjadi dua langkah:
Ini seharusnya bekerja pada hampir semua distro, saya pikir.
Jika Anda dapat mengakses partisi root dari sistem lain, mis. Live CD, Anda dapat sebagai root dari sana mengedit /etc/shadow
; pertama kamu harus chmod u+w shadow
. Temukan entri root
, mungkin yang pertama dan terlihat seperti ini:
root:$6$asdG0[..etc...]ae/:15666:0:99999:7:::
Hapus semua di antara dua titik dua pertama sehingga Anda berakhir dengan:
root::15666:0:99999:7:::
Lalu chmod u-w shadow
. Anda sekarang dapat reboot sistem dan root tidak memiliki kata sandi. Anda cukup mengetik root
di prompt login dan tidak akan meminta. Anda kemudian dapat menggunakan passwd
untuk mengatur satu.
Untuk ekstra hati-hati:
/etc/shadow
dulu.passwd
di lingkungan chroot dari live CD?
/etc/shadow
Menilai dari tag yang saya ambil bahwa Anda menggunakan RHEL, tetapi solusi ini harus bekerja dengan baik untuk semua distro.
Jika kata sandi root dilupakan, Anda dapat mem-boot dalam mode pengguna tunggal dan menggunakannya untuk mengubah kata sandi. Pendekatan ini dijelaskan dalam panduan langkah demi langkah Red Hat :
kernel
, tekan elagi.single
. Kemudian tekan ENTERdan boot darinya.Anda pada akhirnya akan mendapatkan prompt tempat Anda bisa mengetik passwd root
dan mengubah kata sandi. Kemudian ketik reboot
untuk reboot sistem.
/boot/grub/grub.conf
untuk menghapus kata sandi bootloader dan /etc/inittab
mengubah shell pengguna tunggal menjadi sesuatu seperti / bin / sh (cc @pradeepchhetri)