On 03/25/2012 01:39 PM, dimas wrote:
кстати, как вариант.
в рутовском кронтабе прописываем
@reboot /path/to/coolscript.
скрипт делает, допустим, следующие:
sleep 2m (по-тупому если, ждем пока все прогрузится - юзер залогинится), далее
с помощью w или last смотрим, залогинен ли юзер (last вообще полезная тулза в
этом плане, там и продолжительность сеансов...). если залогинен - sleep 26m ,
после чего выводим уведомление с помощью zenity/notify-send/etc (тут, возможно,
придется поковыряться с запуском иксовых приблуд из скрипта). ну и напослдеок
еще sleep 2m, а потом останавливаем dm, ну и killall -u user (или там pkill или
еще что на выбор). после всего этого смотрим last, парсим записи за сегодня -
что-то типа last -n10 user tty7 (если интересует графика, или по всем tty, если
дочурка любит еще в консоли подолбиться, только pts/* не надо, это запуски
гуевого терминала) - если грепом или чем еще находим больше трех таких сеансов
за сегодня - делаем юзеру usermod -e 1970-01-01 (если верить документации,
самый действенный способ), чем блокирует логин под данной учеткой. ну и потом
не забываем каждый новый день разблокировать эту учетку взад (anacron или при
старте того же скрипта)
Но зачем костыли, если для этого есть pam, раздел session?
2012-085 01:58 alex kuklin<a...@kuklin.ru> wrote:
А все-таки, причем тут крон?
Такие сеансы надо считать у счетом входов и выходов, т.е. это скрипт
в pam, плюс обвязка на скринсейвер, плюс демон, блокирующий систему
при выходе за квоту.
Ну вот разве что раз в минуту запускать проверку через cron.