GNU/Linux >> Belajar Linux >  >> Linux

Linux – Mengapa Linux Mengizinkan 'init=/bin/bash'?

Saya baru-baru ini mengetahui bahwa jika saya mengedit GRUB sebelum boot dan saya menambahkan rw init=/bin/bash Saya berakhir dengan shell root.

Berada dalam kondisi yang saya ingin memahami segala sesuatu yang saya ingin tahu mengapa ini terjadi. Maksud saya apakah itu bug? apakah itu fitur? apakah ada untuk membantu admin memperbaiki masalah karena hanya berfungsi jika Anda memiliki akses fisik ke komputer?

Apakah ini disediakan oleh GRUB atau kernel yang sebenarnya?

Jawaban yang Diterima:

Ini adalah fitur, dan digunakan untuk pemeliharaan sistem:memungkinkan sysadmin untuk memulihkan sistem dari file inisialisasi yang kacau atau mengubah kata sandi yang terlupakan.

Postingan di milis Red Hat ini menjelaskan beberapa hal:

Dalam sistem mirip Unix, init adalah proses pertama yang dijalankan, dan
nenek moyang utama dari semua proses yang pernah dijalankan. Ini bertanggung jawab untuk
menjalankan semua skrip init.

Anda memberi tahu kernel Linux untuk menjalankan /bin/bash sebagai init, bukan
sistem init. […]

Jadi, Anda tidak mengeksploitasi apa pun, Anda hanya menggunakan fitur kernel standar.

Selain itu, seperti yang disebutkan dalam komentar, rw bendera terpisah dari init= , itu hanya memberi tahu sistem untuk memasang sistem file root sebagai baca-tulis (sehingga Anda dapat, misalnya, mengedit file yang salah konfigurasi atau mengubah kata sandi).


Linux
  1. Apa itu POSIX? Mengapa Penting bagi Pengguna Linux/UNIX?

  2. Berikan firewall sistem Linux Anda peningkatan keamanan

  3. Linux – Bagaimana Gnome Reboot Tanpa Hak Root?

  1. Linux – Mengapa Setuid Tidak Bekerja??

  2. Linux – Mengapa Perlu Waktu Lama Untuk Mendeteksi Usb Stick?

  3. Linux – Mengapa Kernel Tidak Dapat Menjalankan Init?

  1. Mengapa /bin/sh Menunjuk Ke /bin/dash Dan Bukan /bin/bash??

  2. 10 Contoh Perintah insserv untuk Script Init Sistem Linux

  3. Mengapa Ctrl + V tidak menempel di Bash (Linux shell)?