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.



Ответить