Raspbian secara default dikonfigurasi sehingga akun root tidak dapat login menggunakan kata sandi. Ini dilakukan dengan memulai dengan entri /etc/password
yang dimulai:
root:x:0:0:
Kolom dipisahkan oleh titik dua dan dijelaskan dalam man 5 passwd
(perhatikan 5
, karena man passwd
akan 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 x
menunjukkan 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 shadow
adalah 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 root
tidak dapat melakukan itu (walaupun root selalu dapat mengubahnya menjadi sesuatu yang lain tanpa memerlukan yang asli).
Dalam kasus root, entri masuk shadow
dimulai 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 passwd
perintah untuk menetapkan kata sandi baru, yang akan menggantikan *
dengan hash yang disebutkan sebelumnya (ini selalu dimulai di $n$
mana n
ada 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/passwd
dan menghapus x
entri 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 root
prompt 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).
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 sudoers
tidak begitu baik ...).
Edit /etc/passwd
dan hapus x
seperti 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.