LINUX.ORG.RU
ФорумAdmin

Блокировка пользователя, часть 2

 ,


0

2

Доброго времени суток.

1. Предыстория вопроса. Мне уже месяц сношают мозг вопросом блокировки пользователей. Давно реализованы и работают рекомендации из CIS_Redhat_Linux_5_Benchmark_v2.0.0.pdf, в частности

  • /etc/login.defs
    PASS_MAX_DAYS   80
  • регулярно выполняется
    #!/bin/bash
    
    for user in $(awk -F: '{ if ( $1 >= 500 ) {  print $1; } ; }' /etc/passwd) ; do
        chage -M 80 -I 7 $user
    done
    
    useradd -D -f 7
    

При этом через 80 дней от любого пользователя требуют смены пароля, а если в течение 7 дней пароль не будет изменён - пользователь не сможет войти в систему.

Аудит это по какой-то причине не устраивает.

Я предполагаю, что непосредстенно блокировки аккаунта после 87 дней не происходит, просто при каждом логине проверяется срок действия пароля и пользователя не пускают в систему.

Написал скрипт, который явно блокирует ( usermod -L $user ) пользователя, если он не логинился больше 87 дней И если пароль не менял больше 87 дней ( чтобы пользователь не блокировался автоматом сразу после создания или разблокировки ), запуск по cron'у ежедневно.

Но теперь менеджер проекта встал в позу и спрашивает, почему нельзя сделать штатными средствами ОСи. Как будто на винде штатными средствами сделали, ага...

Так вот, есть теоретический вопрос:

2) Что такое «блокировка пользователя» в linux? Я всегда считал, что блокировка - это usermod -L $user и, как результат, "!" перед паролем в /etc/shadow

Можно ли считать, что при текущих настройках ( chage -I 7 -M 80 $user ) невозможность зайти через 87 дней после смены пароля - именно блокировка?

Какие модули PAM отвечают
а) за блокировку ( usermod -L $user )?
б) за невозможность логина после истечения времени жизнипароля + inactivity ( chage -M 80 -I 7 $user )?

★★★★★

Какие модули PAM отвечают

И то, и другое - pam_unix, но проверяют разные поля /etc/shadow

Насчёт блокировки проверяется 2-е поле, насчёт времени жизни пароля и inactivity - 3, 5 и 7

router ★★★★★ ()
Последнее исправление: router (всего исправлений: 1)

Пока пришёл к выводу, что и usermod -L $user, и истечение времени жизни пароля + inactivity - блокировка пользователя, но по разным причинам ( ручая блокировка администратором против автоматической блокировки по времени жизни пароля )

Наткнулся на штатную утилиту passwd, попробую показать аудиторам, кроме вышеперечисленного, ещё и вывод passwd -S $user. Может пройдет.

router ★★★★★ ()
Последнее исправление: router (всего исправлений: 1)

Так. сумбур полный.

Кто заказчик? Аудит? Менеджер проекта? Пусть специфицирует требуемый результат.

почему нельзя сделать штатными средствами ОСи

cron и скрипты - штатные методы Linux. Это во-первых. Во-вторых, с таким подходом пусть идет лесом, так как его дело - сформулировать задачу (что он, как я понял, не в состоянии сделать), а как задача выполняется - дело исполнителя.

Что такое «блокировка пользователя» в linux?

В моем понимании - невозможность залогиниться. Опять-таки это не важно, важно сформулировать задачу, желаемый эффект. А как это будет называться - вторично.

Kroz ★★★★★ ()

В моём понимании блокировка пользователя это невозможность авторизации. То есть нельзя залогиниться, прочитать почту (pop3/imap). Но файлы пользователя остаются, почта на его логин приходит, root может запускать процессы от его имени и т.д.. ЕМНИП, и по NFS можно (если настроено) записывать файлы от его имени.

Не знаю, что хотят от вас аудиторы и менеджер проекта, может они хотят виндового поведения, там, ЕМНИМ, блокированному пользователю почта не приходит.

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