Sebenarnya, / etc / shadow dibuat untuk memungkinkan perpindahan dari daftar nama pengguna dan kata sandi yang dapat dibaca secara publik.
Bertahanlah, ini akan menjadi sedikit pelajaran sejarah, sebelum kita sampai pada jawaban yang sebenarnya. Jika Anda tidak peduli tentang sejarah, cukup gulirkan sedikit.
Di masa lalu, OS mirip Unix, termasuk Linux, umumnya semua menyimpan kata sandi di / etc / passwd. File itu dapat dibaca dunia, dan masih, karena mengandung informasi yang memungkinkan pemetaan misalnya antara ID pengguna numerik dan nama pengguna. Informasi itu sangat berguna bahkan bagi pengguna biasa untuk tujuan yang sah sepenuhnya, sehingga membuat dunia file dapat dibaca sangat bermanfaat bagi kegunaan.
Bahkan saat itu, orang-orang menyadari bahwa memiliki kata sandi dalam teks biasa dalam file di lokasi terkenal yang bisa dibaca siapa saja yang bisa masuk dengan bebas adalah ide yang buruk. Jadi kata sandi di-hash, dalam arti tertentu. Itulah mekanisme hashing kata sandi "crypt" lama, yang hampir tidak pernah digunakan pada sistem modern, tetapi sering didukung untuk tujuan warisan.
Lihatlah / etc / passwd di sistem Anda. Lihat bidang kedua itu, yang mengatakan di x
mana-mana? Ini digunakan untuk menyimpan kata sandi hash untuk akun yang bersangkutan.
Masalahnya adalah orang-orang dapat mengunduh /etc/ passwd, atau bahkan tidak mengunduhnya, dan berusaha memecahkan kata sandi. Ini bukan masalah besar sementara komputer tidak terlalu kuat (Clifford Stoll, dalam The Cuckoo's Egg , memberikan, seingat saya, waktu untuk hash satu kata sandi pada sistem kelas PC IBM pada pertengahan 1980-an sekitar satu detik) ), tetapi itu menjadi masalah karena kekuatan pemrosesan meningkat. Pada titik tertentu, dengan daftar kata yang baik, meretas kata sandi itu menjadi terlalu mudah. Karena alasan teknis, skema ini juga tidak dapat mendukung kata sandi lebih dari delapan byte.
Dua hal dilakukan untuk mengatasi ini:
- Pindah ke fungsi hash yang lebih kuat. Ruang bawah tanah yang lama () telah hidup lebih lama dari yang berguna, dan skema yang lebih modern dirancang yang baik di masa depan dan secara komputasi lebih kuat.
- Pindahkan kata sandi hash ke file yang tidak dapat dibaca oleh sembarang orang. Dengan cara ini, bahkan jika fungsi hash kata sandi ternyata lebih lemah dari yang diharapkan, atau jika seseorang memiliki kata sandi yang lemah untuk memulai, ada hambatan lain bagi penyerang untuk mendapatkan akses ke nilai hash untuk memulai. Itu tidak lagi gratis untuk semua.
File itu adalah / etc / shadow.
Perangkat lunak yang bekerja dengan / etc / shadow umumnya sangat kecil, sangat fokus, dan cenderung menerima beberapa pemeriksaan ekstra dalam ulasan karena potensi masalah. Ini juga berjalan dengan izin khusus, yang memungkinkannya untuk membaca dan memodifikasi / etc / shadow, sambil menjaga pengguna biasa tidak dapat melihat file itu.
Jadi begitulah: Izin pada / etc / shadow bersifat restriktif (meskipun, sebagaimana telah disebutkan, tidak seketat yang Anda sebutkan) karena seluruh tujuan file tersebut adalah untuk membatasi akses ke data sensitif.
Kata sandi hash seharusnya kuat, tetapi jika kata sandi Anda ada di 500 Kata Sandi Top di daftar Internet , siapa pun yang memiliki akses ke hash masih akan dapat menemukan kata sandi dengan cepat. Melindungi hash mencegah serangan sederhana itu dan menaikkan standar serangan sukses dari mengintip sederhana menjadi mengharuskan seseorang untuk menjadi administrator sistem pada host, atau melalui serangan eskalasi hak istimewa terlebih dahulu. Terutama pada sistem multi-pengguna yang dikelola dengan benar, keduanya secara signifikan lebih sulit daripada hanya melihat file yang dapat dibaca dunia.
/etc/shadow
itu600
?