LINUX.ORG.RU
решено ФорумAdmin

Пароль на sudo (или вспоминаем debian)


0

1

Поговорим немного о паранойе. Хотя, на самом деле, интерес вызыван другими причинами.

Итак, есть 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? И как лучше реализовать, если возможно?

Ответ на: комментарий от anonymous_sapiens

Мимо. Во-первых, используя su, мы отказываемся от преимуществ sudo (то же логирование). Во-вторых, это будет та же ситуация, что я описал выше: «Можно попытаться псевдообезопасить юзера ...»

xerxes ()
Ответ на: комментарий от sdio

А вот насчёт 'pam', спасибо, изучу, как будет возможность, и отпишусь!

xerxes ()

1. Создать дополнительного юзера dummyuser с паролем и шеллом /sbin/nologin

2. В sudoers прописать что-то вроде:

Defaults:user runas_default=dummyuser,timestamp_timeout=0,runaspw
user ALL=(root) ALL

3. Вызывать sudo с ключем -u root:
user@host $ sudo -u root rm -rf /
sudo запросит пароль от dummyuser, а rm выполнит от root

4. ?????

5. PROFIT

Lavos ★★★★★ ()
Ответ на: комментарий от Lavos

3. Вызывать sudo с ключем -u root:

user@host $ sudo -u root rm -rf /

Уже давно не работает, правильно будет rm -rf /* или запускать с ключом --no-preserve-root

По сабжу: создай в убунте рута, (вернее емнип он уже создан, просто нужно пароль изменить passwd root) и будет как в дебиане.

ymuv ★★★★ ()
Ответ на: комментарий от ymuv

По сабжу: создай в убунте рута, (вернее емнип он уже создан, просто нужно пароль изменить passwd root) и будет как в дебиане.

Тогда юзер сможет сделать su -, или залогиниться сразу рутом.
А ТС хочет помесь su и sudo.

Lavos ★★★★★ ()
Ответ на: комментарий от sdio

Насколько я понял, почитав про PAM (не только man), реализация возможна в виде вручную написанной софтины-обёртки. Нет, я не прочь размять пальцы, просто сейчас искал решение по принципу «не более 15-и минут настройки».

В любом случае, спасибо за совет. Как руки дойдут, непременно опробую. Возможно, также получится сконструировать временное решение в виде «выключения» учётки с админскими правами, чтобы на неё можно было войти только через su.

Если будут ещё какие мудрые советы, рад получить. В ином случае - тема закрыта.

xerxes ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.