Alasan dasar (mengapa ini adalah ide yang buruk) adalah bahwa tidak ada pengguna (root, admin atau lainnya) yang boleh memiliki akses ke kata sandi pengguna orang lain.
Sederhananya karena kata sandi adalah sarana otentikasi. Jika saya tahu kata sandi pengguna lain, saya tahu kredensial mereka (nama pengguna + kata sandi), jadi saya bisa masuk sebagai pengguna itu , menyamar sebagai dia (atau dia).
Tindakan apa pun yang saya lakukan saat masuk sebagai pengguna itu, pengguna lain akan bertanggung jawab. Dan bukan itu cara otentikasi seharusnya bekerja.
Tindakan tersebut dapat menjadi bencana, seperti menghapus sejumlah besar file penting, menghapus hard disk, menghapus cadangan, mematikan rencana tenaga nuklir, dll.
Atau hanya ilegal. Bayangkan sebuah institusi bank tempat saya (admin) memiliki akses ke semua kata sandi. Dengan menggunakan kata sandi kasir, saya dapat memesan satu juta dolar dari rekening bank presiden ke rekening bank pembersih jendela. Kemudian gunakan kata sandi superior kasir untuk menyetujui transaksi. Kemudian setujui cek dari akun pembersih jendela ke rekening bank luar negeri saya sendiri.
Lalu aku pergi untuk liburan panjang di Bahama ...
Dalam pandangan itu, hashing dari kata sandi dan penggunaan file bayangan yang terpisah dapat dilihat sebagai sarana untuk menegakkan aturan ini (tidak ada pengguna yang bisa meniru identitas lainnya).
Dan seperti yang dikomentari @ Miral * , ada pengecualian su
yang memungkinkan peniruan identitas (dan jenis argumen yang dilontarkan di atas), juga menyimpan log penggunaannya (sehingga mengubah aturan menjadi "hanya admin yang dapat menyamar sebagai orang lain tetapi log disimpan ").
* Contoh bank mungkin bukan yang terbaik. Di lingkungan mana pun di mana keamanan sangat penting, lebih banyak cara otentikasi dan otorisasi biasanya diperlukan daripada hanya satu kata sandi.