Основна причина (чому це погана ідея) полягає в тому, що жоден користувач (root, адміністратор чи інший) ніколи не повинен мати доступ до пароля іншого користувача.
Просто тому, що пароль - це засіб аутентифікації. Якщо я знаю пароль іншого користувача, я знаю їхні облікові дані (ім’я користувача + пароль), тому я можу ввійти як цей користувач , видаючи себе за нього (або її чи ні).
За будь-яку дію, яку я вчинив, коли ввійшов як цей користувач, за іншого користувача несе відповідальність. І це не так, як повинна працювати автентифікація.
Дії можуть бути згубними, як видалення цілого ряду важливих файлів, стирання жорстких дисків, стирання резервних копій, вимкнення планів ядерної енергетики тощо.
Або просто незаконне. Уявіть банківську установу, де я (адміністратор) має доступ до всіх паролів. Використовуючи пароль касира, я можу замовити переміщення мільйона доларів з банківського рахунку президента на банківський рахунок прибиральника вікон. Тоді використовуйте головний пароль касира, щоб затвердити транзакцію. Потім затвердіть чек з рахунку очисника вікон на мій власний офшорний банківський рахунок.
Потім я вирушаю на довгі канікули на Багами ...
На цей погляд, хешування паролів та використання окремих тіньових файлів можна розглядати як засіб для виконання цього правила (жоден користувач не повинен мати змогу себе представляти іншим).
І як прокоментував @ Miral * , виняток є тим, su
що, дозволяючи себе за себе (і види відкидання аргументу, наведеного вище), він також веде журнал його використання (тому він змінює правила на "лише адміністратори можуть себе представляти іншим, але журнал зберігається ").
* Приклад банку, мабуть, не найкращий. У будь-якому середовищі, де безпека є вирішальною, зазвичай потрібно більше засобів аутентифікації та авторизації, ніж лише один пароль.