Блокировка некоторых учетных записей в течение некоторых периодов времени

8

Можно ли заблокировать некоторые учетные записи, чтобы быть доступными только в течение определенных периодов времени?

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

Димитрис Левентес
источник
я думаю, не из коробки на Unix ... но это может быть возможно, если вы проводите расширенную аутентификацию с помощью ldap, или Kerberos, или чего-то еще ... или, возможно, даже с SELinux. Хотя я точно не знаю, так что это не настоящий ответ.
ксенотеррацид

Ответы:

5

Если вы говорите о Linux, это зависит от того, поставляется дистрибутив pam_time.so или нет. Этот модуль PAM может поддерживать ограничение доступа к определенному времени дня, за исключением пользовательских, полностью зацикливается в стеке PAM.

Для других * NIX, если они поддерживают PAM (например, Solaris), вы, вероятно, можете получить и скомпилировать pam_time.so откуда-нибудь.

nzwulfin
источник
2

В FreeBSD вы можете использовать pwутилиту:

pw lock <user>

а также

pw unlock <user>

Так что теперь все, что вам нужно сделать, это создать скрипт для добавления logoutи killкоманды по мере необходимости, цикл по пользователям, выполнить через cronработу, и все готово!

gvkv
источник
на самом деле этот метод может быть адаптирован к Linux. Один из способов заблокировать учетную запись - установить для поля ... от второго до последнего в / etc / shadow более раннюю дату. Спецификация полей - «Дни с начала эпохи, когда истекает срок действия учетной записи», так что вы можете изменить это назад и вперед через cron.
ксенотеррацид