Kata sandi default root raspbian

16

Saya mencoba untuk memodifikasi file sudoers pada Raspbian /etc/sudoers , dan sepertinya saya membuat kesalahan, karena saya tidak dapat memodifikasinya lagi. Saya juga tidak dapat memanggil perintah apa pun yang memerlukan sudoizin. Jadi saya telah melakukan riset dan menemukan solusinya di sini .

Solusi ini menggunakan perintah *pkexec visudo*, tetapi ketika saya mencoba bahwa itu memberi saya pesan kesalahan: Authentication is needed to run '/usr/sbin/visudo' as the super user. Juga ada daftar drop-down, hanya berisi kata 'root' (dan tidak dapat diubah). Serta bernama Identity dan kotak teks kosong bernama Password.

Jadi pertanyaannya adalah bagaimana saya bisa tahu kata sandi root? Saya mencoba 'root', 'raspberry', 'admin' dll. Tetapi tidak ada yang berhasil.

Menurut jawaban, sepertinya sedikit mustahil untuk login menggunakan root, lalu menggunakan pkexec visudo tidak akan menyelesaikan masalah saya! dan menurut jawaban saya satu-satunya cara adalah menggunakan pc linux untuk melihat konten sd saya dan memodifikasi file sudoers. Saya sudah menginstal Debian di mesin virtual saya, dan Akhirnya saya bisa mengakses file sudoers tetapi saya tidak punya izin untuk mengaksesnya! dikatakan bahwa saya bukan pemilik file! Saya memahami masalah keamanan ini, tetapi karena banyak orang selama pencarian online saya menyarankan untuk menggunakan pc linux untuk memodifikasi file sudoers, maka harus ada cara untuk mendapatkan akses ke sana. Adakah yang tahu cara ini?

Dani
sumber

Jawaban:

15

Raspbian secara default dikonfigurasi sehingga akun root tidak dapat login menggunakan kata sandi. Ini dilakukan dengan memulai dengan entri /etc/passwordyang dimulai:

root:x:0:0:

Kolom dipisahkan oleh titik dua dan dijelaskan dalam man 5 passwd(perhatikan 5, karena man passwdakan memberi Anda halaman manual untuk perintah passwd; bagian 5 adalah untuk file konfigurasi, dan dalam hal ini mereka memiliki nama yang sama). Di sini yang pertama adalah nama ( root), yang ketiga dan keempat adalah angka uid dan gid (keduanya 0), dan yang kedua adalah kata sandi. Untuk sebagian besar entri, ini akan xmenunjukkan kata sandi yang sebenarnya ada di file lain,/etc/shadow ,.

Perhatikan bahwa "kata sandi aktual" tidak benar-benar disimpan di mana pun. Apa yang disimpan shadowadalah hash satu arah dari kata sandi yang sebenarnya. Hash satu arah adalah hasil dari proses yang akan selalu menghasilkan hal yang sama (memungkinkan kata sandi Anda diverifikasi), tetapi tidak dapat dipulihkan. Dengan kata lain, jika seseorang mendapatkan tangan mereka shadow, tidak ada cara untuk menyimpulkan kata sandi dari hash. Namun, jika mereka dapat memodifikasi shadow , jelas mereka dapat menonaktifkan atau mengubah apa yang akan berfungsi sebagai kata sandi. Tetapi mereka tidak akan pernah bisa menemukan kata sandi Anda. Inilah sebabnya mengapa bahkan roottidak dapat melakukan itu (walaupun root selalu dapat mengubahnya menjadi sesuatu yang lain tanpa memerlukan yang asli).

Dalam kasus root, entri masuk shadowdimulai seperti ini, seperti halnya untuk sebagian besar akun sistem lainnya:

root:*:

Itu * menunjukkan saat ini belum ada mungkin sandi yang dapat digunakan untuk akun ini.

Pengguna root dapat mengubah ini, bagaimanapun, menggunakan passwdperintah untuk menetapkan kata sandi baru, yang akan menggantikan *dengan hash yang disebutkan sebelumnya (ini selalu dimulai di $n$mana nada beberapa nilai acak yang digunakan sebagai "garam" untuk hash, tetapi Anda tidak perlu mengerti itu).

Ngomong-ngomong, ketika saya membuat kartu dari gambar baru, hal pertama yang saya lakukan adalah masuk /etc/passwddan menghapus xentri root jadi sekarang dimulai:

root::0:0

Perhatikan sekarang tidak ada bidang kedua. Ini berarti tidak ada kata sandi dan yang harus Anda lakukan adalah mengetikkan rootprompt login dan Anda masuk sebagai root. Anda kemudian dapat menggunakanpasswd untuk mengatur satu.

Jadi, Anda memiliki dua pilihan di sini, tetapi keduanya mengharuskan Anda mengeluarkan kartu dari pi dan mengakses partisi kedua dari sistem lain (yang dapat membaca / menulis partisi ext4).

  1. Kembalikan sudoers. Jika Anda memiliki gambar referensi ini mudah, Anda bisa mengembalikannya seperti semula dengan menggantinya. Kalau tidak, itu adalah pilihan yang lebih rumit karena Anda harus tahu apa yang Anda lakukan (dan rekam jejak Anda sudoerstidak begitu baik ...).

  2. Edit /etc/passwddan hapus xseperti yang dijelaskan di atas, masukkan kembali kartu, masuk sebagai root, buat kata sandi. Tentu saja, Anda masih harus memperbaikinya sudoers, tetapi coba-coba akan menjadi lebih mudah karena jika Anda benar-benar root, Anda akan selalu dapat mengaksesnya.

Jika Anda tidak memiliki sistem yang dapat mengakses sistem file ext4 ("live CD" Debian adalah pilihan yang baik di sini), maka Anda macet. Anda harus merombak kartu dan mulai lagi.

goldilocks
sumber
Saya sudah menginstal debian di VM Ware, dan saya memasukkan kartu saya tetapi hanya melihat file yang ditampilkan seolah-olah saya menggunakan sistem windows. Maksud saya, saya tidak bisa melihat / memodifikasi file sudoers. saya harus menggunakan beberapa perintah untuk melihatnya di debian?
Dani
Saya bukan pengguna VM ware, jadi saya tidak bisa membantu dengan spesifik itu, tetapi mungkin Anda memang memiliki akses root di VM, kan? Jika demikian, dan Anda dapat mengakses kartu SD dari VM, Anda harus bisa memasang partisi kedua dan mencari /etc. Jika sudoerstidak ada di sana, Anda mungkin telah secara tidak sengaja menghapusnya, dalam hal ini Anda harus menggantinya dari gambar debian baru (Anda tidak harus membuat kartu baru, Anda hanya perlu file gambar, lihat di sini ) .. .
goldilocks
... Anda juga harus dapat mengakses etc/passwdpada kartu dan mengubahnya melalui akun root Debian VM.
goldilocks
(Anda harus bisa me-mount partisi kedua dan mencari di / etc) perintah apa yang harus saya gunakan untuk me-mount partisi kedua?
Dani
Dari VM VMware? Saya tidak tahu Saya menggunakan virtualbox, tetapi saya tidak pernah harus mengatur akses ke perangkat keras atau mount pada sistem host selain jaringan (jika saya harus mentransfer data saya hanya melakukannya melalui jaringan). Saya kira itu mungkin dan sederhana, tetapi sistem host saya juga linux. Saya juga mengira ada beberapa cara menggunakan VMware dengan Windows / Mac / Apa pun host untuk memberikan akses VM ke perangkat SD yang terhubung ke perangkat keras host ... bahkan jika tuan rumah itu sendiri tidak dapat membaca partisi, masih bisa mengakses kartu yang sebenarnya, sehingga VM harus dapat juga (dan kemudian OS VM dapat membacanya).
goldilocks
4

Raspbian TIDAK memiliki rootkata sandi. Itu berbeda dari Ubuntu dalam hal itu. Anda dapat membuat rootkata sandi, tetapi AFAIK membutuhkannya sudo.

Taruhan terbaik adalah mengedit file dengan memasang Kartu SD pada mesin Linux.

Ini dapat dilakukan pada Pi jika 1. Anda memiliki pembaca Kartu SD 2. Anda menggunakan OS yang baik pada SD lain untuk mem-boot Pi.

Milliways
sumber
tapi mengapa raspbian meminta saya kata sandi? dan mengapa itu tidak menerima kata sandi kosong?
Dani
Akun root mungkin memiliki kata sandi "tidak valid" atau "tidak mungkin" - ini adalah trik umum untuk mengunci akun root dengan cara ini.
flakeshake
4

Untuk mengatur kata sandi root:

  • Boot dan login secara normal.
  • Lari:sudo passwd root
  • Ketikkan kata sandi baru untuk root seperti yang diminta

Sumber: https://www.raspberrypi.org/forums/viewtopic.php?f=91&t=5056&start=25

Keunggulan Ilesanmi
sumber
1
Masalahnya adalah saya tidak dapat menggunakan perintah sudo karena saya melakukan kesalahan saat memodifikasi file sudoers. Masalahnya diselesaikan dengan menginstal OS linux debian di komputer saya, memasukkan kartu sd dan mengubah file sudoers kembali ke keadaan semula ...
Dani
-1

Jika Anda mengunduh Puppy Linux untuk Raspberry Pi dari http://puppylinux.org/main/Download%20Latest%20Release.htm#quirky dan menginstalnya pada thumbdrive maka Anda harus dapat mem-boot komputer dari itu, dan karena Puppy selalu berjalan sebagai root tanpa kata sandi Anda dapat mengubah apa pun di komputer yang Anda inginkan. Buat modifikasi Anda, lalu reboot komputer tanpa media boot Puppy. Sekarang komputer akan boot ke sistem Anda yang diubah tanpa Puppy.

Saya agak baru di Raspberry Pi, jadi saya tidak tahu cara mem-boot-nya dari perangkat lain (thumbdrive), tapi mungkin ada caranya. Mungkin sistem Noobs dengan menahan shift saat boot.

Saya akan menambahkan alternatif sederhana untuk mem-boot dari drive lain: Raspberry Pi sebagai gantinya bisa di-boot dari instalasi Puppy pada kartu SD (atau kartu microSD) dan media instalasi asli dapat dibaca dan diubah dari card reader yang dicolokkan ke card reader. Raspberry Pi yang sama.

Bahasa Inggris Miriam
sumber
2
Saya menemukan downvoting tidak menyenangkan, jadi saya akan mencoba untuk mengisi untuk downvoter anonim. Jawaban yang memiliki "Saya tidak tahu" mungkin lebih tepat sebagai komentar. Sayangnya, itu membutuhkan reputasi 50. Silakan lakukan upaya Anda untuk membantu. Itu sepadan dengan usaha. : D
OyaMist