Поговорим немного о паранойе. Хотя, на самом деле, интерес вызыван другими причинами.
Итак, есть Ubuntu. Есть юзеры, которые имеют право выполнять sudo для определённых вещей. Стоит помнить лишь пароль от своей учётки. Таким образом, если кто-то знает логин и пароль учётки с правами выполнения sudo для нужных действий, этот кто-то получает полную власть над сими действиями. Можно попытаться псевдообезопасить юзера с привилегиями запуска sudo тем, что поставить на него шибко-сложный пароль, а в обычное время, когда нет надобности в sudo, использовать простую учётную запись, без каких-либо допусков к sudo. Но, всё же, злому человеку достаточно знать логин и пароль конкретной учётки.
Теперь вспомним debian. Для выполнения особых действий мы не могли сразу авторизоваться под root. Мы заходили под логином и паролем юзерской учёткой, затем с помощью su вводили пароль уже от root-а и лишь затем наслаждались привилегиями суперпользователя. Таким образом, злой человек должен знать один логин и уже два пароля. Но, если узнает, то получит доступ не к конкретным, прописанным в sudoers действиям для конкретного юзера, а ко всему, что есть в системе.
Не будем тратить время на описание преимуществ sudo. Задам вопрос: как объединить эти два подхода? Вот, что я имею ввиду под объединением:
Есть юзер pupkin. И у него, разумеется, задан пароль, чтобы входить в систему. НО! Для юзанья sudo он вводит не свой пароль, не пароль от root-а (который продолжает оставаться незаданным), а его личный, второй пароль специально для sudo. Т. е. для каждого юзера задаются не только возможные действия под флагом root-а, но и свой отдельный пароль для использования sudo. Таким образом, если злой человек хочет получить доступ к действиям X, он должен знать: 1. Юзера Y, которому разрешено выполнять действия X от имени суперюзера. 2. Пароль Yn для входа на учётку Y. 3. Пароль Ym для sudo из-под Y.
Is it possible? И как лучше реализовать, если возможно?