Podstawowym powodem (dlaczego jest to zły pomysł) jest to, że żaden użytkownik (root, administrator lub inny) nigdy nie powinien mieć dostępu do hasła użytkownika.
Po prostu dlatego, że hasło jest sposobem uwierzytelnienia. Jeśli znam hasło innego użytkownika, znam jego dane uwierzytelniające (nazwa użytkownika + hasło), dzięki czemu mogę zalogować się jako ten użytkownik , podszywając się pod niego (lub on lub on).
Wszelkie działania, które wykonam, gdy jestem zalogowany jako ten użytkownik, za drugiego użytkownika będą ponosić odpowiedzialność. I nie tak powinno działać uwierzytelnianie.
Działania mogą być katastrofalne, takie jak usuwanie całej gamy ważnych plików, kasowanie dysków twardych, kasowanie kopii zapasowych, zamykanie planów energii jądrowej itp.
Lub po prostu nielegalne. Wyobraź sobie instytucję bankową, w której ja (administrator) mam dostęp do wszystkich haseł. Za pomocą hasła kasjera mogę zlecić przeniesienie miliona dolarów z konta bankowego prezydenta na konto bankowe mycie okien. Następnie użyj nadrzędnego hasła kasjera, aby zatwierdzić transakcję. Następnie zatwierdź czek z konta do czyszczenia okien na moje własne konto bankowe w banku.
Potem jadę na długie wakacje na Bahamy ...
W tym widoku mieszanie haseł i korzystanie z oddzielnych plików cienia można postrzegać jako sposób na egzekwowanie tej reguły (żaden użytkownik nie powinien mieć możliwości podszywania się pod inną).
I jak skomentował @ Miral * , istnieje wyjątek od su
tego, że dopuszczając personifikację (i rodzaje odrzucenia powyższego argumentu), prowadzi również dziennik jej użycia (więc zmienia zasady na „tylko administratorzy mogą podszywać się pod innych, ale dziennik jest przechowywany ”).
* Przykład bankowy prawdopodobnie nie był najlepszy. W każdym środowisku, w którym bezpieczeństwo ma kluczowe znaczenie, zwykle potrzeba więcej sposobów uwierzytelnienia i autoryzacji niż tylko jedno hasło.